ایتراتورها در پایتون
ایتراتورها در پایتون: مفاهیم و کاربردها
در دنیای برنامهنویسی پایتون، ایتراتورها (Iterators) از مفاهیم پایهای و قدرتمند هستند که به شما امکان پیمایش عناصر در یک مجموعه را میدهند. این ابزارها نقش کلیدی در مدیریت حافظه و بهینهسازی کدها ایفا میکنند.
ایتراتورها در پایتون بر اساس پروتکل ایتراتور کار میکنند که شامل دو متد اساسی __iter__() و __next__() است.
تفاوت ایترابل و ایتراتور
ایترابل (Iterable) | ایتراتور (Iterator) |
---|---|
شیئی که میتوان روی آن تکرار کرد | شیئی که وضعیت تکرار را حفظ میکند |
دارای متد __iter__() | دارای متدهای __iter__() و __next__() |
مثالهای کاربردی
برای درک بهتر ایتراتورها، به این مثال ساده توجه کنید:
- ساخت یک لیست ساده
- تبدیل آن به ایتراتور با تابع iter()
- خواندن عناصر با تابع next()
my_list = [1, 2, 3]
my_iter = iter(my_list)
print(next(my_iter)) # خروجی: 1
ایتراتورهای سفارشی
شما میتوانید با تعریف یک کلاس، ایتراتورهای سفارشی ایجاد کنید. برای اطلاعات بیشتر میتوانید از این لینک استفاده کنید.
- کلاس باید متد __iter__() را پیادهسازی کند
- متد __next__() مسئول بازگرداندن مقدار بعدی است
- با رسیدن به انتهای مجموعه، باید StopIteration ایجاد شود
ایتراتورها در پایتون کاربردهای گستردهای دارند از جمله:
پیمایش مجموعههای بزرگ داده
بدون نیاز به بارگذاری تمام دادهها در حافظه
بدون نیاز به بارگذاری تمام دادهها در حافظه
ساخت جریانهای داده بیپایان
مانند تولید اعداد تصادفی یا دنبالههای نامتناهی
مانند تولید اعداد تصادفی یا دنبالههای نامتناهی