استفاده از next()

تابع next() در پایتون: راهنمای جامع

تابع next() یکی از ابزارهای قدرتمند در پایتون برای کار با iteratorها است. این تابع به شما امکان می‌دهد به صورت دستی عناصر یک شیء قابل تکرار (iterable) را یکی پس از دیگری دریافت کنید.

نکته کلیدی: next() تنها با iteratorها کار می‌کند نه با تمام iterableها. برای تبدیل یک iterable به iterator می‌توانید از تابع iter() استفاده کنید.

سینتکس پایه

سینتکس اصلی تابع next() به صورت زیر است:

  • next(iterator, default)
  • پارامتر اول: شیء iterator
  • پارامتر دوم (اختیاری): مقدار پیش‌فرض در صورت اتمام iterator
مثال خروجی
numbers = iter([1, 2, 3])
print(next(numbers))
1
print(next(numbers)) 2

کاربردهای عملی

تابع next() در سناریوهای مختلفی مفید است:

  1. خواندن فایل‌های بزرگ بدون بارگذاری کامل در حافظه
  2. پیاده‌سازی الگوهای طراحی مانند lazy evaluation
  3. کار با پایگاه داده هنگام دریافت رکوردها به صورت تدریجی
  4. ایجاد generatorهای سفارشی

برای مثال، هنگام کار با فایل‌های حجیم:

with open('large_file.txt') as file:
  first_line = next(file)
  second_line = next(file)

مدیریت خطاها

هنگام استفاده از next() ممکن است با خطای StopIteration مواجه شوید. این خطا زمانی رخ می‌دهد که iterator به پایان رسیده باشد:

روش توضیح
مقدار پیش‌فرض تعیین مقدار بازگشتی در صورت اتمام iterator
try/except مدیریت خطای StopIteration

برای اطلاعات بیشتر درباره iteratorها در پایتون می‌توانید به این صفحه بروید.


در نهایت، تابع next() ابزاری ضروری برای برنامه‌نویسان پایتون است که با iteratorها کار می‌کنند. این تابع کنترل دقیق‌تری روی فرآیند تکرار ارائه می‌دهد و می‌تواند در بهینه‌سازی مصرف حافظه بسیار مفید باشد.