تكرارات بايثون: ما هو التكرار في بايثون وكيفية استخدامه؟



في هذه المدونة الخاصة بمكررات Python ، سنقوم بدراسة متعمقة حول التكرارات في Python وكيف يتم تنفيذها.

قامت لغة برمجة Python بتوسيع نطاق كل جانب من جوانب الابتكار بما في ذلك و و ، إلخ. أحد الأسباب العديدة لهذا العمل الفذ هو مفاهيم مثل Python Iterators ، مثل هذه المفاهيم هي اللبنات الأساسية لانتصار Python كلغة برمجة. في هذه المقالة ، سنتعرف على المفاهيم التالية لفهم تكرارات Python:

التكرارات مقابل التكرارات

يسمى الكائن في Python ، والذي يمكن استخدامه ككائن قابل للتكرار ، بأنه قابل للتكرار. هذا يعني في الأساس أنه يمكن تكرار التسلسل في الكائن. معظم مجموعات Python مثل a قائمة و و tuple و مجموعات وحتى نطاق يمكن التعامل معها على أنها قابلة للتكرار.





ما هي تكرارات بايثون؟

أ بايثون أنا تراتور عبارة عن حاوية تحتوي على عدد قابل للعد من القيم. يمكن اجتياز القيم الموجودة في الحاوية باستخدام التكرارات - خاصة القوائم.

بصرف النظر عن الاجتياز ، تتيح التكرارات أيضًا الوصول إلى عناصر البيانات في الحاوية ولكنها لا تؤدي في حد ذاتهاتكرارأي لا يخلو من قدر كبير من الحرية مع هذا المفهوم أو مع استخدام تافه للمصطلحات. المكرر يشبه تقريبًا aمؤشر قاعدة البياناتفي السلوك. فيما يلي مثال بسيط على Iterator بتنسيق .



my_obj = {'Edureka'، 'Python'، 'iterator'} iter_obj = iter (my_obj) print (next (iter_obj))

انتاج: إدوريكا

Iterator هو أي نوع من أنواع Python يمكن استخدامه مع 'for in loop'.أي كائن يتم استخدامه كمكرر يجب أن يطبق الطرق التالية.

التكرارات في بيثون - edureka



1. __iter __ ()

يتم استدعاؤه عند تهيئة مكرر.يجب أن تعيد كائنًا له طريقة تالية أو طريقة __next__.

2. __next __ ()

طريقة التكرار التالية ترجع القيمة التالية لـ Iterable.

عند استخدام مكرر مع حلقة 'for in' ، يتم استدعاء التالي () ضمنيًا بواسطة على كائن التكرار. يجب أن تستخدم هذه الطريقة StopIteration للإشارة إلى نهاية التكرار.تسمى هاتان الطريقتان معًا بروتوكول التكرار. دعونا نحاول أن نفهم كيف تعمل حلقة for كمكرر في بايثون بمثال.

بالنسبة لـ i in object: print (i)

دعونا نفهم كيف تعمل حلقة for كمكرر.

# إنشاء كائن مكرر من iter_obj = iter (iterable) المتكرر # حلقة لا نهائية أثناء True: حاول: # الحصول على عنصر العنصر التالي = التالي (iter_obj) # افعل شيئًا ما مع عنصر باستثناء StopIteration: # إذا تم رفع StopIteration ، فافصل من الحلقة استراحة

الآن بعد أن عرفنا ، كيف لحلقة يعمل كمكرر. دعونا نفهم كيف يمكننا تنفيذ التكرارات المخصصة في بايثون.

التكرارات المخصصة

الآن دعونا نلقي نظرة على كيفية تنفيذ التكرارات المخصصة في بايثون. لفهم هذا ، سوف نستخدم مثالاً. في هذا المثال ، سنقوم بتنفيذ أساليب __iter __ () و __next __ ().

class MyNumbers: def __iter __ (self): self.a = 1 إرجاع self def __next __ (self): x = self.a self.a + = 1 return x myclass = MyNumbers () myiter = iter (myclass) print (next (next ( myiter)) print (next (myiter)) print (next (myiter))

انتاج: واحد

2

3

الآن بعد أن عرفنا كيف يمكننا تنفيذ التكرارات المخصصة ، دعونا نلقي نظرة على التكرارات اللانهائية في بايثون.

التكرارات اللانهائية

ليس من الضروري دائمًا استنفاد العنصر الموجود في كائن التكرار. يمكن أن يكون هناك تكرارات لا نهائية (لا تنتهي أبدًا). هذا مثال أساسي لتوضيح التكرارات اللانهائية.

المدمج في iter ()يمكن استدعاؤها مع وسيطتين حيث يجب أن تكون الوسيطة الأولى كائنًا (وظيفة) يمكن استدعاؤها والثانية هي الحارس. يستدعي التكرار هذه الوظيفة حتى تصبح القيمة المُعادة مساوية للحارس.

دعونا نأخذ مثالا لفهم هذا

class MyNumbers: def __iter __ (self): self.a = 1 إرجاع self def __next __ (self): x = self.a self.a + = 1 return x myclass = MyNumbers () myiter = iter (myclass) print (next (next ( myiter)) print (next (myiter)) print (next (myiter)) print (next (myiter)) print (next (myiter))

انتاج: واحد
2
3
4
5

في المثال أعلاه ، سيستمر التنفيذ طالما واصلنا إضافة بيان الطباعة. لإيقاف التكرار اللانهائي ، نحتاج إلى استخدام جملة stopIteration.

تطبيق الهاشمب البسيط في جافا

StopIteration

لإيقاف استمرار التكرار إلى الأبد ، نستخدم عبارة StopIteration. دعونا نفهم هذا ببعض الأمثلة.

class MyNumbers: def __iter __ (self): self.a = 1 return self def __next __ (self): if self.a & ampampamplt = 5: x = self.a self.a + = 1 إرجاع x else: رفع StopIteration myclass = MyNumbers () myiter = iter (myclass) لـ x في myiter: print (x)

انتاج: واحد
2
3
4
5

الآن في أقرب وقت الشرط خاطئ ، سينتقل التنفيذ إلى كتلة else وسيتوقف التكرار. الآن دعونا نلقي نظرة على بعض الأمثلة الأخرى على التكرارات في بايثون.

أمثلة Python Iterator

فيما يلي بعض الأمثلة على التكرارات في بايثون.

my_obj = ['Edureka'، 'python'، 'iterator'] iter_obj = iter (my_obj) print (next (iter_obj))

انتاج: إدوريكا

في هذا المثال ، نستخدم tuple ككائن قابل للتكرار.

my_obj = ('Edureka'، 'python'، 'iterator') iter_obj = iter (my_obj) print (next (iter_obj))

انتاج: إدوريكا

يمكننا حتى استخدام السلسلة ككائن قابل للتكرار في بيثون.

my_obj = 'Edureka' iter_obj = iter (my_obj) طباعة (التالي (iter_obj))

انتاج: يكون

يقودنا هذا إلى نهاية هذه المقالة حيث تعلمنا كيف نستخدم Python Iterators مع الأمثلة. آمل أن تكون واضحًا بشأن كل ما تمت مشاركته معك في هذا البرنامج التعليمي.

إذا وجدت هذه المقالة حول 'Python Iterators' ذات صلة ، فتحقق من ذلك شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرة في جميع أنحاء العالم.

نحن هنا لمساعدتك في كل خطوة في رحلتك والتوصل إلى منهج مصمم للطلاب والمهنيين الذين يريدون أن يكونوا . تم تصميم الدورة التدريبية لمنحك السبق في برمجة Python وتدريبك على مفاهيم Python الأساسية والمتقدمة جنبًا إلى جنب مع العديد مثل

إذا صادفت أي أسئلة ، فلا تتردد في طرح جميع أسئلتك في قسم التعليقات في 'Python Iterators'. سيسعد فريقنا بالإجابة.