Programme chap3_syntaxe_1648_.py


# coding: latin-1
def fonction_yield(n):
    i = 0
    while i < n-1:
        print "yield 1" # affichage : pour voir ce que fait le programme
        yield i         # arrête la fonction qui reprendra
        i = i+1         # à la ligne suivante lors du prochain appel
    print "yield 2"     # affichage : pour voir ce que fait le programme
    yield i             # arrête la fonction qui ne reprendra pas
                        # lors du prochain appel car le code de la fonction
                        # prend fin ici

for a in fonction_yield(2):
    print a                 # affiche tous les éléments que retourne la
                            # fonction fonction_yield, elle simule la liste
                            # [0,1]
print "-----------------------------------------------"
for a in fonction_yield(3):
    print a                 # nouvel appel, l'exécution reprend
                            # au début de la fonction,
                            # affiche tous les éléments que retourne la
                            # fonction fonction_yield, elle simule la liste
                            # [0,1,2]

créé avec py2html version:0.62