স্পষ্টরূপে একটির জন্য ব্লক চেষ্টা করে না লিখে প্রকাশটি প্রকাশ করার পক্ষে একটি অজগর উপায় রয়েছে StopIteration
:
# some_iterable is some collection that can be iterated over
# e.g., a list, sequence, dict, set, itertools.combination(...)
for value in some_iterable:
print(value)
আপনি কেন প্রবর্তন করা হয়েছে তার পিছনে এবং পুনরাবৃত্তির পিছনে যুক্তি যুক্তিতে আরও জানতে চাইলে আপনি প্রাসঙ্গিক পিইপি 234 255 পড়তে পারেন StopIteration
।
পাইথনের একটি সাধারণ নীতি হ'ল কিছু করার একটি উপায় (দেখুন import this
), এবং সম্ভবত তার সুন্দর, স্পষ্ট, পাঠযোগ্য এবং সহজ, যা পাইথোনিক পদ্ধতিটি সন্তুষ্ট করে। আপনার সমতুল্য কোডটি কেবলমাত্র প্রয়োজনীয় কারণ অজগরটি পুনরাবৃত্তকারীদের hasNext
সদস্য ফাংশন দেয় না ; লোককে কেবল পুনরাবৃত্তিকারীদের মাধ্যমে সরাসরি লুপ করতে পছন্দ করে (এবং যদি আপনাকে কেবল এটি পড়ার চেষ্টা করতে এবং একটি ব্যতিক্রম ধরতে অন্য কিছু করার প্রয়োজন হয়)।
StopIteration
একটি পুনরুক্তিকারক শেষে একটি ব্যতিক্রমের এই স্বয়ংক্রিয়ভাবে ধরা অর্থবোধ করে এবং EOFError
আপনি যদি ফাইলের শেষের অংশটি পড়ে থাকেন তবে উত্থিতদের একটি এনালগ ।