4️⃣ نکات ریز و ترفندهای حرفه‌ای 🔸 استفاده از ()next: برای گرفتن مقدار بعدی ژنراتور: gen = (x**2 for x in range(3)) print(next(gen)) # Khoroji: 0 print(next(gen)) # Khoroji: 1 print(next(gen)) # Khoroji: 4 🔸 مدیریت خطای StopIteration: try: gen = (x for x in range(2)) print(next(gen)) print(next(gen)) print(next(gen)) except StopIteration: print("Generator tamoom shod! 🚫") 🔸 ترکیب با ()range: evens_gen = (x for x in range(0, 10, 2)) print(list(evens_gen)) # Khoroji: [0, 2, 4, 6, 8] 🔸 ژنراتورهای تودرتو با yield from: def nested_generator(): yield from [1, 2, 3] yield from [4, 5, 6] for num in nested_generator(): print(num) # Khoroji: 1, 2, 3, 4, 5, 6 🔸 استفاده تو pipeline داده: برای فیلتر کردن یا تبدیل داده‌ها به‌صورت زنجیره‌ای: def filter_evens(): for num in range(10): if num % 2 == 0: yield num for num in filter_evens(): print(f"Zoj: {num}") # Khoroji: Zoj: 0, Zoj: 2, Zoj: 4, Zoj: 6, Zoj: 8 💯 @PythonForYou 🧑‍💻👩‍💻