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

Các loại trình lặp lại trong Python

Trong python có khái niệm lặp qua các vùng chứa. Trình lặp có hai chức năng riêng biệt. Sử dụng các hàm này, chúng ta có thể sử dụng các lớp do người dùng định nghĩa để hỗ trợ lặp lại. Các hàm này là __iter __ () __next __ () .

Phương thức __iter __ ()

Phương thức __iter __ () trả về đối tượng trình vòng lặp. Nếu một lớp hỗ trợ các kiểu lặp khác nhau, thì một số phương thức khác có thể ở đó để thực hiện một số tác vụ khác.

Phương thức __next __ ()

Phương thức __next __ () trả về phần tử tiếp theo từ vùng chứa. Khi mục hoàn tất, nó sẽ nâng StopIteration ngoại lệ.

Mã mẫu

class PowerIter:
   #It will return x ^ x where x is in range 1 to max
   def __init__(self, max = 0):
      self.max = max #Set the max limit of the iterator
        
   def __iter__(self):
      self.term = 0
      return self
    
   def __next__(self):
      if self.term <= self.max:
         element = self.term ** self.term
         self.term += 1
         return element
      else:
         raise StopIteration #When it exceeds the max, return exception
powIterObj = PowerIter(10)
powIter = iter(powIterObj)
for i in range(10):
   print(next(powIter))

Đầu ra

1
1
4
27
256
3125
46656
823543
16777216
387420489