** * Cet article provient d'Udemy "[Introduction à Python3 enseignée par des ingénieurs actifs de la Silicon Valley + application + style de code de style américain Silicon Valley](https://www.udemy.com/course/python-beginner/" Introduction à Python3 enseignée par des ingénieurs actifs de la Silicon Valley + application + Style de code de style de la Silicon Valley américaine ")" C'est une note de classe pour moi après avoir suivi le cours. Il est ouvert au public avec la permission de l'instructeur Jun Sakai. ** **
l = ['Good morning', 'Good afternoon', 'Good night']
for i in l:
print(i)
result
Good morning
Good afternoon
Good night
def greeting():
yield 'Good morning'
yield 'Good afternoon'
yield 'Good night'
g = greeting()
print(next(g))
print(next(g))
print(next(g))
result
Good morning
Good afternoon
Good night
En Python, s'il y a un yield
à l'intérieur de def
, cette fonction sera reconnue comme un générateur.
Vous pouvez traiter les éléments un par un en utilisant next ()
.
Cela ne présente peut-être pas beaucoup d'avantages, mais jetons un coup d'œil au code suivant.
def greeting():
yield 'Good morning'
yield 'Good afternoon'
yield 'Good night'
g = greeting()
print(next(g))
print('run!')
print(next(g))
print('run!')
print(next(g))
result
Good morning
run!
Good afternoon
run!
Good night
Si vous écrivez en utilisant une boucle for, le processus s'exécutera du début à la fin à la fois. Avec le générateur, vous pouvez arrêter le processus à tout moment et exécuter un autre processus.