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

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы