Computer >> Máy Tính >  >> Lập trình >> Python

Hàm lặp lại trong Python

Giải thích

Iterator là một đối tượng trong python thực hiện giao thức lặp. Các bộ dữ liệu, danh sách, bộ được gọi là trình vòng lặp có sẵn trong Python. Có hai loại phương thức trong giao thức lặp.

__iter __ (): Phương thức này được gọi khi chúng ta khởi tạo một trình lặp và điều này phải trả về một đối tượng bao gồm phương thức next () hoặc __next __ () (trong Python 3).

next () hoặc __next __ () (trong Python 3): Phương thức này sẽ trả về phần tử tiếp theo từ một chuỗi lặp. Khi một trình lặp được sử dụng với vòng lặp for, vòng lặp for sẽ gọi trực tiếp hàm next () trên đối tượng trình vòng lặp.

Mã mẫu

# 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))

Đầu ra

1
2
4
8
16
StopIteration error will be raised