Python 迭代器

Python 迭代器

迭代器是一种对象,该对象包含值的可计数数字。

迭代器是可迭代的对象,这意味着您可以遍历所有值。

从技术上讲,在 Python 中,迭代器是实现迭代器协议的对象,它包含方法 __iter__() اور __اینکس__()

آئٹر اور آئٹر اور اپنے اپنے کا جائزہ لیتا ہے

لیسٹ، تورپ، ڈکشن اور سیٹ آئٹر اور اپنے اپنے کا جائزہ لیتا ہے، جو آئٹر اور اپنے اپنے کا جائزہ لیتا ہے، جس سے آپ آئٹر کو حاصل کرسکتے ہیں (آئٹر)۔

تمام ان اشیاء میں آئٹر حاصل کرنے کا iter() میتھد:

مثال

آئٹر سے آئٹر بھی حاصل کرسکتا ہے، اور اپنے اپنے کا جائزہ لیتا ہے، اور اپنے اپنے کا جائزہ لیتا ہے:

mytuple = ("apple", "banana", "cherry")
myit = iter(mytuple)
print(next(myit))
print(next(myit))
print(next(myit))

مثال چلانا

آئٹر بھی آئٹر اور اپنے اپنے کا جائزہ لیتا ہے، جس میں اپنے اپنے آئٹر کو بھی واپس دیتا ہے:

مثال

آئٹر بھی ایک آئٹر اور اپنے اپنے کا جائزہ لیتا ہے، جس میں اپنے اپنے حروف کا سلسلہ شامل ہوتا ہے:

mystr = "banana"
myit = iter(mystr)
print(next(myit))
print(next(myit))
print(next(myit))
print(next(myit))
print(next(myit))
print(next(myit))

مثال چلانا

آئٹر کا جائزہ لیتا ہے

آئٹر اور اپنے اپنے کا جائزہ لیتا ہے، تو آپ for چکر کا استعمال کرسکتے ہیں:

مثال

آئٹر کا استعمال کرتے ہوئے اپنے اپنے کا جائزہ لیتا ہے:

mytuple = ("apple", "banana", "cherry")
برائے for x in mytuple:
  پرنٹ(ایکس)

مثال چلانا

مثال

آئٹر کا استعمال کرتے ہوئے اپنے اپنے حروف کو لگاتار پارو

mystr = "banana"
برائے for x in mystr:
  پرنٹ(ایکس)

مثال چلانا

نکات:برائے for چکر کا فعل، ایک آئٹر اور اپنے ہر چکر کی آئٹر بناتا ہے اور اگر آپ کافی مетод ہوتا ہے。

آئٹر بنانے کا عمل

کسی بجائی/کلاس کو آئٹر اور کرسکتا ہے، تو آپ کو کسی بجائی/کلاس کو آئٹر بنانے کے لئے __iter__() اور __اینکس__() مетод ہوتا ہے。

جیسا کہ آپ نے پائیں گا کہ پیثان کے کلاس/آبجیکٹ کے فصلی میں، تمام کلاسز میں نام کا __init__() فانکشن کا، جس سے آپ کسی بجائی کی تشکیل کے دوران کچھ ابتدائی کاریاں کر سکتے ہیں。

__iter__() __آئین__()

__اینکس__() میتھود کا کام بھی مشابه ہوتا ہے، آپ کو عمل کو انجام دینے کی اجازت دیتا ہے (ابتدائی کاری وغیرہ)، لیکن ہمیشہ آئینٹریشن کا اصل پروجیکٹ بازگشت دیتا ہے۔

مثال

میتھود بھی آپ کو عمل کو انجام دینے کی اجازت دیتا ہے، اور وہ سلسلے میں اگلایا پروجیکٹ بازگشت دیتا ہے۔

کلاس مائی نمبرز:
  ڈیف ڈی آئین(سیلف):
    سیلف اے = 1
    رٹرن سیلف
  ڈیف ڈی اینکس(سیلف):
    ایکس = سیلف اے
    سیلف اے += 1
    رٹرن ایکس
مائی کلاس = مائی نمبرز()
مائیایٹر = آئین(مائی کلاس)
ایک آئینٹریشن کا حصول کرسکتا ہے جو نمبروں کو بازگشت دیتا ہے، سلسلے سے شروع ہوتا ہے، ہر سلسلے میں 1 کا اضافہ ہوتا ہے (بازگشت 1، 2، 3، 4، 5 وغیرہ):
ایک آئینٹریشن کا حصول کرسکتا ہے جو نمبروں کو بازگشت دیتا ہے، سلسلے سے شروع ہوتا ہے، ہر سلسلے میں 1 کا اضافہ ہوتا ہے (بازگشت 1، 2، 3، 4، 5 وغیرہ):
ایک آئینٹریشن کا حصول کرسکتا ہے جو نمبروں کو بازگشت دیتا ہے، سلسلے سے شروع ہوتا ہے، ہر سلسلے میں 1 کا اضافہ ہوتا ہے (بازگشت 1، 2، 3، 4، 5 وغیرہ):
ایک آئینٹریشن کا حصول کرسکتا ہے جو نمبروں کو بازگشت دیتا ہے، سلسلے سے شروع ہوتا ہے، ہر سلسلے میں 1 کا اضافہ ہوتا ہے (بازگشت 1، 2، 3، 4، 5 وغیرہ):
ایک آئینٹریشن کا حصول کرسکتا ہے جو نمبروں کو بازگشت دیتا ہے، سلسلے سے شروع ہوتا ہے، ہر سلسلے میں 1 کا اضافہ ہوتا ہے (بازگشت 1، 2، 3، 4، 5 وغیرہ):

مثال چلانا

اسٹاپ آئینٹریشن

پرنٹ(اینکس(مائیایٹر)) اگر آپ کافی اینکس()

کسی بھی کوشش کی جانی چاہئے کہ اپنے آپ میں سیکل کی جاری رہنے کی روک تھام کی جائے، تو میں استعمال کرسکتے ہیں، یا کسی فور لوق کی جاری رہنے کی روک تھام کی جائے تو، جیسا کہ بالا مثال جاری رہ جائیگا۔ اسٹاپ آئینٹریشن کام

میں __اینکس__() میتھود میں، اگر سیکل کی دفعات مکمل ہو جائیں تو، ہم ایک ختمیاتی شرط لگانے کے ساتھ آپس میں آ سکتے ہیں تاکہ خطا کا اعلان کیا جائے:

مثال

20 سیکل کے بعد رکنا:

کلاس مائی نمبرز:
  ڈیف ڈی آئین(سیلف):
    سیلف اے = 1
    رٹرن سیلف
  ڈیف ڈی اینکس(سیلف):
    آئف سیلف اے <= 20:
      ایکس = سیلف اے
      سیلف اے += 1
      رٹرن ایکس
    آلہ:
      رائز اسٹاپ آئینٹریشن
مائی کلاس = مائی نمبرز()
مائیایٹر = آئین(مائی کلاس)
فور ایکس این میتیر:
  پرنٹ(ایکس)

مثال چلانا