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 رٹرن ایکس آلہ: رائز اسٹاپ آئینٹریشن مائی کلاس = مائی نمبرز() مائیایٹر = آئین(مائی کلاس) فور ایکس این میتیر: پرنٹ(ایکس)
- پچھلے پہلا پائی تون وارس
- آئندہ پہلا پائی تون اسکوپ