Middle
47
Bir dekoratör ile bir jeneratör arasındaki fark nedir? Ne zaman liste yerine jeneratör kullanmak daha iyidir?
Sorulan şirketler
AI'dan gelen yanıt
sobes.tech yapay zeka
Декоратор — это функция, которая принимает другую функцию и возвращает новую функцию с расширенным поведением, не изменяя исходный код.
Генератор — это функция, которая возвращает итератор и позволяет поэтапно выдавать значения с помощью ключевого слова yield.
Когда использовать генератор вместо списка:
- Если нужно обрабатывать большие объемы данных, чтобы не загружать всю коллекцию в память.
- Когда важна ленивость вычислений — значения генерируются по мере необходимости.
Пример генератора:
def count_up_to(n):
count = 1
while count <= n:
yield count
count += 1
for number in count_up_to(5):
print(number)
Декоратор пример:
def decorator(func):
def wrapper():
print("Перед вызовом функции")
func()
print("После вызова функции")
return wrapper
@decorator
def say_hello():
print("Привет")
say_hello()