تعریف Generator
در پایتون، Generator یک نوع تابع ویژه است که مقادیر را یکییکی تولید میکند و به جای بازگرداندن همه مقادیر به یکباره، به صورت lazy evaluation عمل میکند.
ویژگیها:
از حافظه بهینهتر استفاده میکند.
میتواند روی مجموعههای بسیار بزرگ یا نامحدود کار کند.
با کلمه کلیدی yield ساخته میشود.
۲️⃣ تعریف yield
yield مثل return عمل میکند، ولی:
مقدار تولید میکند و وضعیت تابع را نگه میدارد.
دفعه بعد که تابع دوباره فراخوانی شود، از همان نقطه ادامه میدهد.
به این ترتیب مقادیر را یکییکی تولید میکند بدون اینکه همه آنها را یکجا در حافظه نگه دارد.