Python a des concepts itératifs sur les conteneurs. Les itérateurs ont deux fonctions différentes. En utilisant ces fonctions, nous pouvons utiliser des classes personnalisées pour prendre en charge l`itération. Ces fonctions sont __iter __ () et __next __ ().
iter
La méthode __iter __ () renvoie un objet itérateur. Si une classe prend en charge différents types d`itération, d`autres méthodes peuvent être utilisées pour accomplir d`autres tâches.
suivant
Le La méthode __next __ () renvoie l`élément suivant du conteneur. Lorsque l`élément est terminé, il déclenche une exception StopIteration.
Exemple de code
class PowerIter : #Il retournera x ^ x où x est compris entre 1 et max def __init __ (self, max = 0): self.max = max #Définir la limite maximale de l`itérateur def __iter __ (self): self.term = 0 return self def __next __ (auto): si self.term "= self.max: element = self.term ** self.term self.term + = 1 return element else: raise StopIteration #Lorsqu`il dépasse le max, renvoie une exception powIterObj = PowerIter (10) po wIter = iter (powIterObj) for i in range (10): print (next (powIter))
Sortie
1 1 4 27 256 3125 46656 823543 16777216 387420489