Основні концепції Python, які кожен початківець повинен освоїти

List comprehension (розуміння списків):

Це дозволяє створювати новий список, застосовуючи вираз або умову до кожного елементу в ітерабельному об'єкті, з можливістю фільтрувати елементи за допомогою умови. Або, можна сказати, це короткий спосіб створення списку на основі значень існуючого списку.

Приклад:

list2 = [x for x in list1]  
list2 = [x for x in list1 if x!=2]  
list2 = [x*2 for x in list1]  
list2 = [x for x in range(5)]

Python Lambda Functions (лямбда-функції в Python):

Це невеликі анонімні функції. Вони часто використовуються для коротких функцій, які не призначені для повторного використання.

multiply = lambda x, y: x * y  
print(multiply(3, 4)) # Виводить: 12

Python Lambda Functions (лямбда-функції в Python) з MAP, FILTER, REDUCE:

Функція map() застосовує вказану функцію до всіх елементів ітерабельного об'єкта, наприклад, списку.

numbers = [1, 2, 3, 4]  
squared_numbers = list(map(lambda x: x ** 2, numbers))  
print(squared_numbers) # Виводить: [1, 4, 9, 16]

Функція filter() фільтрує елементи з ітерабельного об'єкта на основі заданої функції.

nums = [1, 2, 3, 4, 5]  
even_nums = filter(lambda x: x % 2 == 0, nums)  
print(list(even_nums)) # Виводить: [2, 4]

reduce() застосовує функцію lambda x, y: x * y кумулятивно. Вона починає з перших двох елементів, потім застосовує функцію до результату і наступного елементу, і так далі, поки не обробить всі елементи. У цьому випадку вона обчислює добуток усіх чисел.

nums = [1, 2, 3, 4]  
product = reduce(lambda x, y: x * y, nums)  
print(product) # Виводить: 24

Форматування рядків:

F-строки дозволяють форматувати вибрані частини рядка.

cost = 59  
text = f"The cost is {cost} "

Ви також можете виконувати деякі операції під час форматування рядка:

text = f"The cost is {2 * 50} Dollars"  

price = 59  
tax = 0.25  
text = f"The price is {price + (price * tax)} dollars"  


cost = 49  
text = f"It is very {'Expensive' if cost>50 else 'Cheap'}"  


name = "testing"  
text = f"my name is {name.upper()}"

Обробка виключень (Exception Handling):

Використовуємо блоки try, except, finally для обробки помилок під час виконання програми. Підняття виключень за допомогою raise.

try:  
 x = 10 / 0  
except ZeroDivisionError:  
 print("Неможливо поділити на нуль")

Робота з файлами (File Handling):

Читання та запис у файли за допомогою open(), read(), write() та with для управління контекстом.

with open('file.txt', 'w') as f:  
 f.write("Hello, World!")

Модулі Python (Python Modules):

Модуль (Module) у Python — це просто файл з розширенням .py, який містить Python-код. Це може бути скрипт з функціями, змінними або їх комбінацією.

Приклад:

import math  
print(math.sqrt(16)) # Виводить: 4.0  

from math import sqrt #для імпорту конкретної функції  
print(sqrt(16)) # Виводить: 4.0

Ось деякі модулі, які надає Python і які можуть вам дуже допомогти:

import math  
import os #Інтерфейси операційної системи  
import sys #Параметри та функції для системи  
import random #Генерація випадкових чисел  
import datetime  
import json  
import re #Регулярні вирази  
import requests #HTTP запити (модуль сторонніх розробників)

Щоб імпортувати сторонні модулі, використовуйте pip install numpy. І для перегляду всіх встановлених пакетів використовуйте pip list.

Декоратори Python (Python Decorators):

У Python декоратор (Decorator) — це патерн проектування, який дозволяє змінювати або розширювати поведінку функції або методу без зміни їх коду. Зазвичай, декоратори дозволяють покращити функцію додатковою поведінкою.

Декоратор — це функція вищого порядку, яка приймає функцію як аргумент і повертає нову функцію, яка зазвичай викликає оригінальну функцію, але з додатковою поведінкою.

Це часто здійснюється за допомогою замикань (closures).

def decorator(func):  
 def wrapper():  
 # Додати поведінку перед викликом функції  
 print("Перед викликом функції")  
 func() # Викликаємо оригінальну функцію  
 # Додати поведінку після виклику функції  
 print("Після виклику функції")  
 return wrapper
@decorator  
def say_hello():  
 print("Привіт!")  

# Це еквівалентно нижченаведеному коду  

def say_hello():  
 print("Привіт!")  

say_hello = decorator(say_hello)

Підказки типів (Type Hinting)

Використання анотацій типів для перевірки типів.

def add(a: int, b: int) -> int:  
 return a + b

Менеджер пакетів (Package Manager):

pip:

  • pip — це стандартний менеджер пакетів Python, який встановлює та керує пакетами з Python Package Index (PyPI) або інших репозиторіїв пакетів.
  • Він встановлює пакети, вказані у файлі requirements.txt, але не керує залежностями чи середовищем проекту так глибоко, як Poetry.
  • Типові задачі включають встановлення окремих пакетів, їх оновлення та видалення.
  • pip може працювати з файлом requirements.txt для управління залежностями, але за замовчуванням не блокує версії.

Poetry:

  • Poetry — це більш просунутий інструмент для управління залежностями та пакування, що акцентує увагу на зручності використання, відтворюваності та обробці як залежностей, так і пакування для розповсюдження.
  • Він управляє залежностями через файл pyproject.toml (що є сучасним способом управління метаданими проекту) та автоматично створює та управляє віртуальним середовищем.
  • Poetry керує блокуванням версій через poetry.lock, що гарантує однаковість установок у різних середовищах, роблячи його кращим варіантом для управління залежностями в командних проектах.
  • Poetry також спрощує процес публікації Python-пакетів на PyPI, роблячи управління проектами Python більш комплексним.

PyPI

(Python Package Index) — це офіційний репозиторій для програмного забезпечення та бібліотек Python. Це публічний репозиторій, де розробники можуть публікувати та ділитися своїми Python-пакетами, роблячи його центральним хабом для пакетів Python-спільноти. PyPI використовується такими інструментами, як pip і Poetry, для встановлення Python-пакетів.

MAKE:

make — це не концепція, специфічна для Python, а загальнопризначений інструмент автоматизації збірки, який спочатку був розроблений для компіляції та побудови кодових проектів на таких мовах, як C і C++. Однак його також можна використовувати в Python-проектах або інших середовищах для автоматизації повторюваних задач.

У Python-проектах make часто використовується для спрощення звичних завдань, таких як:

  1. Налаштування віртуального середовища.
  2. Встановлення залежностей.
  3. Запуск тестів або лінтерів.
  4. Побудова або деплой проекту.
# Makefile  
.PHONY: install test run clean  

# Встановлення залежностей  
install:  
 pip install -r requirements.txt  

# Запуск тестів  
test:  
 pytest tests/  

# Запуск додатка  
run:  
 python main.py  

# Очищення (наприклад, видалення тимчасових файлів)  
clean:  
 rm -rf __pycache__ *.pyc

Використовуйте термінал для виконання цих задач, наприклад, make install.

Післямова:

Це всі концепції, які, на мою думку, є важливими для тих, хто новий у Python, але має досвід програмування та знайомий з структурами даних. Якщо ж цей документ пропускає якісь важливі концепції, не соромтеся написати про це в коментарях, буду вдячний.

Перекладено з: Essential Python Concepts Every Beginner Developer Should Master

Leave a Reply

Your email address will not be published. Required fields are marked *