Какие знаешь паттерны проектирования встроенные в Python

Python Senior Без компании
Какие знаешь паттерны проектирования встроенные в Python
Ответы
В Python есть несколько встроенных паттернов проектирования, которые активно используются в стандартной библиотеке и самом языке: **Итератор** - встроен в язык через протокол `__iter__`/`__next__`: ``` for item in [1, 2, 3]: # использует итератор print(item) ``` **Декоратор** - функция, изменяющая поведение другой функции: ``` def logger(func): def wrapper(*args): print(f"Calling {func.__name__}") return func(*args) return wrapper @logger def greet(name): return f"Hello {name}" ``` **Синглтон** - реализуется через модули (каждый модуль загружается один раз): ``` # module.py class Singleton: pass instance = Singleton() # будет создан только один раз ``` **Фабричный метод** - например, `datetime.now()` создает объекты даты. **Адаптер** - например, `io.StringIO` адаптирует строку под файловый интерфейс. **Наблюдатель** - реализован в `weakref` для слабых ссылок и событий. **Стратегия** - например, `sorted()` принимает ключевую функцию для изменения поведения сортировки.