39 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			39 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Python Iterators | |||
|  | localeTitle: بايثون ايتراتورز | |||
|  | --- | |||
|  | تدعم بايثون مفهوم التكرار على الحاويات. يتم تنفيذ ذلك باستخدام طريقتين متميزتين. يتم استخدام هذه للسماح الفئات المعرفة من قبل المستخدم لدعم التكرار. | |||
|  | 
 | |||
|  | [Python Docs - Iterator Types](https://docs.python.org/3/library/stdtypes.html#iterator-types) | |||
|  | 
 | |||
|  | التكرار هو عملية تكرار خطوة برمجية لعدد معين من المرات. يمكن للمبرمج استخدام التكرار لأداء نفس العملية على كل عنصر في مجموعة من البيانات ، على سبيل المثال طباعة كل عنصر في قائمة. | |||
|  | 
 | |||
|  | *   يمكن أن تقوم الكائنات بتنفيذ أسلوب `__iter__()` الذي يقوم بإرجاع كائن مكرر لدعم التكرار. | |||
|  |      | |||
|  | *   يجب أن تنفذ كائنات التكرار: | |||
|  |      | |||
|  |     *   `__iter__()` : إرجاع كائن `__iter__()` . | |||
|  |          | |||
|  |     *   `__next__()` : إرجاع الكائن التالي للحاوية. | |||
|  |          | |||
|  |      | |||
|  |     iterator _object = 'abc'. **iter** () طباعة (_ كائن _التكرار_ ) طباعة (id ( _كائن_ التكرار _)) print (id (iterator_ object. **iter** ())) # Returns the iterator itself. print (iterator _object. **next** ()) # Returns 1st object and advances iterator. print (iterator_ object. **next** ()) # Returns 2nd object and advances iterator. طباعة ( _كائن_ التكرار _. **التالي** ()) # إرجاع الكائن الثالث والسلف المكره. print (iterator_ object. **next** ()) # Raises StopIteration Exception. | |||
|  |      | |||
|  | 
 | |||
|  | انتاج : | |||
|  | 
 | |||
|  |  `<str_iterator object at 0x102e196a0>  | |||
|  |  4343305888  | |||
|  |  4343305888  | |||
|  |  a  | |||
|  |  b  | |||
|  |  c  | |||
|  |  ---------------------------------------------------------------------------  | |||
|  |  StopIteration                             Traceback (most recent call last)  | |||
|  |  <ipython-input-1-d466eea8c1b0> in <module>()  | |||
|  |       6 print(iterator_object.__next__())     # Returns 2nd object and advances iterator.  | |||
|  |       7 print(iterator_object.__next__())     # Returns 3rd object and advances iterator.  | |||
|  |  ----> 8 print(iterator_object.__next__())     # Raises StopIteration Exception.  | |||
|  |   | |||
|  |  StopIteration:  | |||
|  | ` |