Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ฟังก์ชันตัววนซ้ำใน Python


คำอธิบาย

Iterator เป็นอ็อบเจ็กต์ในไพ ธ อนที่ใช้โปรโตคอลการวนซ้ำ ทูเพิล, รายการ, ชุด เรียกว่า inbuilt iterators ใน Python มีเมธอดสองประเภทในโปรโตคอลการวนซ้ำ

__iter__() : เมธอดนี้ถูกเรียกเมื่อเราเริ่มต้นตัววนซ้ำและต้องส่งคืนอ็อบเจ็กต์ที่ประกอบด้วยเมธอด next() หรือ __next__()(ใน Python 3)

next() หรือ __next__() (ใน Python 3) : เมธอดนี้ควรส่งคืนองค์ประกอบถัดไปจากลำดับการวนซ้ำ เมื่อใช้ตัววนซ้ำกับลูป for ลูป for จะเรียก next() โดยตรงบนอ็อบเจ็กต์ iterator

โค้ดตัวอย่าง

# creating a custom iterator
class Pow_of_Two:
def __init__(self, max = 0):
   self.max = max
   def __iter__(self):
      self.n = 0
      return self
      def __next__(self):
         if self.n <= self.max:
         result = 2 ** self.n
      self.n += 1
      return result
   else:
      raise StopIteration("Message")
      a = Pow_of_Two(4)
      i = iter(a)
print(i.__next__())
print(next(i))
print(next(i))
print(next(i))
print(next(i))
print(next(i))

ผลลัพธ์

1
2
4
8
16
StopIteration error will be raised