ازگر Iterators: ازگر میں Iterator کیا ہے اور اس کا استعمال کیسے کریں؟



ازگر آیتریٹرس کے اس بلاگ میں ، ہم ازگر میں آئٹروں کے بارے میں گہرائی سے مطالعہ کریں گے اور ان کو کیسے نافذ کیا جاتا ہے۔

ازگر پروگرامنگ زبان نے جدت کے ہر پہلو کو چھوٹا ہے ، ، ، وغیرہ۔ اس کارنامے کی بہت ساری وجوہات میں سے ایک ازگر ازتہال جیسے تصورات ہیں ، اس طرح کے تصورات پروگرامنگ لینگویج کی حیثیت سے ازگر کی فتح کے بنیادی نقش ہیں۔ اس مضمون میں ، ہم ازگر آئٹریوں کو سمجھنے کے لئے مندرجہ ذیل تصورات پر غور کریں گے:

Iteilers بمقابلہ Iteable

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





ازگر آئٹریٹر کیا ہیں؟

ایک ازگر I چھیڑنے والا قابل قدر تعداد پر مشتمل ایک کنٹینر ہے۔ کنٹینر میں موجود اقدار کو آئٹریٹر - خصوصا lists فہرستوں کا استعمال کرتے ہوئے کھڑا کیا جاسکتا ہے۔

ٹریورسل کے علاوہ ، آئٹریٹر کنٹینر میں موجود ڈیٹا عناصر تک بھی رسائی فراہم کرتے ہیں لیکن وہ خود کام نہیں کرتے ہیںتکراریعنی ، اس تصور کے ساتھ یا اصطلاحات کے چھوٹی سی استعمال کے ساتھ لی گئی کچھ اہم آزادی کے بغیر نہیں۔ ایک Iterator تقریبا ایک کی طرح ہےڈیٹا بیس کرسرسلوک میں. یہاں میں Iterator کی ایک سادہ سی مثال ہے .



my_obj = Ed 'ایڈوریکا' ، 'ازگر' ، 'دوبارہ چلنے والے'} it__jj = iter (my_obj) پرنٹ (اگلا (iter_obj))

آؤٹ پٹ: ایڈوریکا

Iterator کسی بھی قسم کا ازگر ہے جسے 'for in لوپ' کے ساتھ استعمال کیا جاسکتا ہے۔کسی بھی شے جو Iterator کے طور پر استعمال ہونا ہے اس کے لئے مندرجہ ذیل طریقوں کو نافذ کرنا ضروری ہے۔

ازگر میں اڈیٹر - ایڈیورکا



1. __تر __ ()

یہ ایک Iterator کے شروع کرنے پر کہا جاتا ہے.اسے کسی ایسی چیز کو واپس کرنا چاہئے جس کا اگلا یا __next__ طریقہ ہو۔

2. __ اگلا __ ()

Iterator کے اگلے طریقہ Iteable کے لئے اگلی قیمت واپس.

جب کسی Iterator کو ‘in’ لوپ کے ساتھ استعمال کیا جاتا ہے ، تو اگلا () واضح طور پر بذریعہ فون کیا جاتا ہے Iterator اعتراض پر. اس طریقہ کار کو ایک اختلاط کے اختتام کا اشارہ کرنے کے لئے اسٹاپ ایٹریشن کا استعمال کرنا چاہئے۔ان دونوں طریقوں کو ایک ساتھ Iterator پروٹوکول کہا جاتا ہے۔ آئیے ہم یہ سمجھنے کی کوشش کرتے ہیں کہ مثال کے طور پر ایک لوپ برائے ازگر میں ایک ایلیٹر کے طور پر کیسے کام کرتا ہے۔

میرے لئے اعتراض میں: پرنٹ (i)

آئیے ہم سمجھیں کہ لوپ بطور آئٹریٹر کیسے کام کرتا ہے۔

# اس تکرارکرنے والے سے_بیج = آئتر (تکراری) # لامحدود لوپ بنائیں جبکہ سچ: کوشش کریں: # اگلی آئٹم عنصر = اگلا (iter_obj) حاصل کریں # اسٹاپ ایٹریشن کے سوا عنصر کے ساتھ کچھ کریں: # اگر اسٹاپ ایٹریشن بلند ہوجائے تو ، لوپ سے ٹوٹ جائیں توڑ

اب جب ہم جانتے ہیں کہ ، کیسے لوپ کے لئے ایک Iterator کے طور پر کام کرتا ہے. آئیے ہم یہ سمجھیں کہ ہم ازگر میں کسٹم آئٹروں کو لاگو کرسکتے ہیں۔

حسب ضرورت Iterators

اب آئیے اس پر ایک نظر ڈالیں کہ ہم ازگر میں کسٹم آئٹروں کو لاگو کرسکتے ہیں۔ اس کو سمجھنے کے ل we ، ہم ایک مثال استعمال کریں گے۔ اس مثال میں ، ہم ____ __ () اور __ اگست __ () طریقوں کو نافذ کریں گے۔

کلاس MyNumbers: Def __iter __ (خود): self.a = 1 ریٹرن سیلف Def __next __ (خود): x = self.a self.a + = 1 واپسی x myclass = MyNumbers () myiter = iter (myclass) پرنٹ (اگلا ( مائیٹر)) پرنٹ (اگلا (مائیٹر)) پرنٹ (اگلا (مائیٹر))

آؤٹ پٹ: ایک

2

3

اب جب ہم جانتے ہیں کہ کس طرح ہم کسٹم آئٹروں کو لاگو کرسکتے ہیں تو آئیے ، ہم ازگر میں لاتعداد Iterators پر ایک نظر ڈالیں۔

لامحدود Iterators

یہ ہمیشہ لازمی نہیں ہوتا ہے کہ آئٹریٹر آبجیکٹ میں موجود چیز کو ختم کرنا پڑتا ہے۔ لامحدود Iterators ہوسکتی ہے (جو کبھی ختم نہیں ہوتی)۔ لامحدود تکرار کرنے والوں کا مظاہرہ کرنے کے لئے یہ ایک بنیادی مثال ہے۔

بلٹ میں یہ ()دو دلائل کے ساتھ بلایا جاسکتا ہے جہاں پہلی دلیل کو کسی شے (فنکشن) کا ہونا ضروری ہے جسے بلایا جاسکتا ہے اور دوسرا ارسال کنندہ ہے۔ Iterator اس تقریب کو اس وقت تک فون کرتا ہے جب تک کہ لوٹی ہوئی قیمت مرسل کے برابر نہیں ہوجاتی ہے۔

آئیے ہم اس کو سمجھنے کے لئے ایک مثال لیتے ہیں

کلاس MyNumbers: Def __iter __ (خود): self.a = 1 ریٹرن سیلف Def __next __ (خود): x = self.a self.a + = 1 واپسی x myclass = MyNumbers () myiter = iter (myclass) پرنٹ (اگلا ( مائیٹر)) پرنٹ (اگلا (مائیٹر)) پرنٹ (اگلا (مائیٹر)) پرنٹ (اگلا (مائیٹر)) پرنٹ (اگلا (مائیٹر))

آؤٹ پٹ: ایک
2
3
4
5

مذکورہ بالا مثال میں ، جب تک ہم پرنٹ بیان شامل کرتے رہیں گے اس پر عمل درآمد جاری رہے گا۔ لامحدود Iteters کو روکنے کے لئے ، ہمیں اسٹاپ انٹریٹمنٹ بیان کو استعمال کرنے کی ضرورت ہے۔

سیلینیم میں طرح طرح کے فریم ورک

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

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

کلاس MyNumbers: Def __iter __ (خود): self.a = 1 ریٹرن سیلف Def __next __ (خود): اگر self.a & ampampamplt = 5: x = self.a self.a + = 1 واپسی x: اضافہ اسٹاپ آئٹیریشن مائکلاس = MyNumbers () مائیٹر = آئیٹر (مائکلاس) x کے لئے مائیٹر میں: پرنٹ (ایکس)

آؤٹ پٹ: ایک
2
3
4
5

اب جیسے ہی شرط غلط ہے ، عملدرآمد دوسرے بلاک میں منتقل ہوجائے گا اور اشاعت رک جائے گی۔ آئیے اب ایک نظر ڈالتے ہیں ازگر میں آئٹریٹرز کی چند دیگر مثالوں کی۔

ازگر آئٹریٹر کی مثالیں

ازگر میں Iterators کی کچھ اور مثالیں ہیں۔

my_obj = ['اڈورکا' ، 'ازگر' ، 'دوبارہ چلنے والے'] iter_obj = iter (my_obj) پرنٹ (اگلا (iter_obj))

آؤٹ پٹ: ایڈوریکا

اس مثال میں ، ہم ٹیپل کو تکرار کرنے والے شے کے بطور استعمال کرتے ہیں۔

my_obj = ('ایڈورکا' ، 'ازگر' ، 'آئٹرٹر') iter_obj = iter (my_obj) پرنٹ (اگلا (iter_obj))

آؤٹ پٹ: ایڈوریکا

ہم ازگر میں تکرار کرنے والی شے کے بطور اسٹرنگ کا بھی استعمال کرسکتے ہیں۔

my_obj = 'Edureka' iter_obj = iter (my_obj) پرنٹ (اگلا (iter_obj))

آؤٹ پٹ: ہے

یہ ہمارے اس مضمون کے اختتام تک پہنچا ہے جہاں ہم نے یہ سیکھ لیا ہے کہ ہم مثال کے ساتھ ازگر آتش بازوں کو کس طرح استعمال کرتے ہیں۔ میں امید کرتا ہوں کہ اس سبق کے ساتھ جو کچھ آپ کے ساتھ شیئر کیا گیا ہے اس سے آپ صاف ہیں۔

اگر آپ کو یہ مضمون 'ازگر Iteters' سے متعلق مل گیا ہے تو ، چیک کریں ایک قابل اعتماد آن لائن سیکھنے کی کمپنی جس کا نیٹ ورک 250،000 سے زیادہ مطمئن سیکھنے والوں کے نیٹ ورک کے ساتھ پوری دنیا میں پھیل گیا ہے۔

ہم یہاں آپ کے سفر کے ہر قدم میں آپ کی مدد کرنے اور نصاب کے ساتھ آنے کے لئے حاضر ہیں جو طلباء اور پیشہ ور افراد کے لئے ڈیزائن کیا گیا ہے جو چاہتے ہیں کہ . کورس آپ کو ازگر کے پروگرامنگ میں آغاز فراہم کرنے اور مختلف اور بنیادی ایڈوانس تصورات کے لئے آپ کو تربیت دینے کے لئے ڈیزائن کیا گیا ہے پسند ہے

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