Maison >développement back-end >Tutoriel Python >Que fait le mot-clé « rendement » de Python et comment les générateurs sont-ils utilisés ?
"yield" est un mot-clé unique en Python qui vous permet de créer des générateurs, qui sont un type spécialisé d'itérable. Les itérables représentent des séquences de valeurs sur lesquelles vous pouvez parcourir, telles que des listes et des chaînes. Cependant, les générateurs diffèrent de ceux-ci en ne stockant pas toutes les valeurs en mémoire. Au lieu de cela, ils produisent des valeurs à la volée, une à la fois.
Pour comprendre les générateurs, il est utile de commencer par des itérables. Les itérables sont des objets qui implémentent la méthode __iter__(), vous permettant de récupérer un objet itérateur via la fonction iter(). Les itérateurs implémentent la méthode __next__(), qui renvoie l'élément suivant dans la séquence et déclenche une exception StopIteration lorsqu'il ne reste plus d'éléments.
Les générateurs sont un type d'itérable créé à l'aide du mot-clé "yield". Les générateurs sont uniques car ils suspendent l'exécution à chaque instruction « rendement », vous permettant de récupérer une valeur à la fois. Lorsque vous utilisez le générateur, il reprend l'exécution là où elle s'était arrêtée, générant la valeur suivante. Ce processus se poursuit jusqu'à ce que le générateur ait épuisé toutes ses valeurs, auquel cas il lève une exception StopIteration.
Pour utiliser des générateurs, vous créez une fonction de générateur qui contient un ou plus de déclarations de « rendement ». Cette fonction renvoie un objet générateur, qui peut être itéré à l'aide d'une boucle "for".
Voici un exemple :
def generate_numbers(): for i in range(5): yield i
Dans cet exemple, generate_numbers() est une fonction génératrice qui parcourt les nombres de 0 à 4 et donne chaque valeur. Pour utiliser ce générateur, vous pouvez le parcourir à l'aide d'une boucle "for" :
for number in generate_numbers(): print(number)
Ce code imprimera les nombres de 0 à 4.
Les générateurs offrent plusieurs avantages par rapport aux itérables traditionnels :
"yield" est un mot-clé puissant en Python qui vous permet de créer des générateurs, un type unique d'itérable qui génère des valeurs à la demande. Les générateurs offrent des avantages tels que l'efficacité de la mémoire, l'évaluation paresseuse et la flexibilité, ce qui en fait un outil précieux dans divers scénarios de programmation.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!