Какие знаешь парадигмы разработки в Python
Python
Middle
Без компании
Какие знаешь парадигмы разработки в Python
Ответы
Python поддерживает несколько парадигм программирования, включая:
- **Императивное** (процедурное) — код состоит из последовательности инструкций (функций, циклов, условий). Пример:
```
def sum_numbers(n):
result = 0
for i in range(1, n+1):
result += i
return result
```
- **ООП** (объектно-ориентированное) — использование классов, объектов, наследования, инкапсуляции и полиморфизма. Пример:
```
class Animal:
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "Woof!"
```
- **Функциональное** — функции как объекты первого класса, неизменяемые данные, чистые функции. Пример:
```
from functools import reduce
numbers = [1, 2, 3]
squared = list(map(lambda x: x**2, numbers))
```
- **Аспектно-ориентированное** (AOP) — разделение сквозной функциональности (логирование, кеширование) через декораторы:
```
def log_time(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
print(f"Time: {time.time() - start}")
return result
return wrapper
```
Также Python поддерживает **метапрограммирование** (декораторы, метаклассы) и **реактивное** (асинхронность через asyncio).