1️⃣ Generator Expressions
شبیه List Comprehension، ولی به جای فهرست، یه ژنراتور تولید میکنن که مقادیر رو یکییکی میده.
squares_gen = (x**2 for x in range(5))
for num in squares_gen:
print(num)
# Khoroji:
# 0
# 1
# 4
# 9
# 16
🔹 مقایسه با فهرست:
squares_list = [x**2 for x in range(5)]
print(squares_list) # Khoroji: [0, 1, 4, 9, 16]
# Ama generator:
squares_gen = (x**2 for x in range(5))
print(squares_gen) # Khoroji: <generator object <genexpr> at ...>
💡 نکته ریز:
🔻 ژنراتورها فقط یهبار قابل پیمایشان. بعد از پیمایش، خالی میشن:
squares_gen = (x**2 for x in range(5))
print(list(squares_gen)) # Khoroji: [0, 1, 4, 9, 16]
print(list(squares_gen)) # Khoroji: [] (chon khali shode)
💯 @PythonForYou 🧑💻👩💻