🔹 اگه توی پایتون بخوای یک فایل چند گیگابایتی لاگ رو بخونی یا روی چند میلیون عدد عملیات انجام بدی، ساختن یک لیست معمولی رم سیستمت رو کامل پر میکنه و سیستم قفل میکنه.
🔹 راهکار پایتونیک استفاده از ژنراتورها به جای لیست کامپرهنشنه. با عوض کردن کروشه به پرانتز معمولی، پایتون به جای ساختن کل دیتا در رم، فرمول تولید اون رو ذخیره میکنه و آیتمها رو تکبهتک تحویلت میده.
# روش سنگین برای رم (میلیونها عدد یکجا ساخته میشن)
# numbers_list = [x * 2 for x in range(10_000_000)]
# روش بهینه با ژنراتور (مصرف رم نزدیک به صفر)
numbers_gen = (x * 2 for x in range(10_000_000))
print(next(numbers_gen))
print(next(numbers_gen))
🔹 این مفهوم دقیقاً تفاوت اصلی دولوپرهای حرفهای رو موقع کار با دادههای سنگین، وب اسکرپینگ یا لاگآنالایزرها رقم میزنه.
🐍 @python_rd