[PYTHON] Generator

Im Gegensatz zu einer normalen Funktion scheint sie sich an den zuletzt zurückgegebenen Wert zu erinnern. Beim Aufruf wird der folgende Wert zurückgegeben:

generator.py


def counter(num=10):
    for _ in range(num):
        yield 'run'

def greeting():
        yield 'good morning'
        yield 'good afternoon'
        yield 'good night'

for g in greeting():
    print(g)

g=greeting()
print(next(g)) #good morning
print(next(g)) #good afternoon

c=counter()
print(next(c))
print(next(c))
print(next(c))
print(next(c))
print(next(c))
print(next(c))
print(next(c))
print(next(c))
print(next(c))
print(next(c))
#print(next(c))Ich bekomme eine Fehlermeldung

Ausgabe:

good morning
good afternoon
good night
good morning
good afternoon
run
run
run
run
run
run
run
run
run
run

Recommended Posts

Generator
Generator
Generator Memo.
Natürlicher Zahlengenerator
Gemusterter Passwortgenerator
Hash Passwort Generator
[Python] Generatorfunktion
Generatorfunktion auch in JavaScript
Lektor Static Site Generator
Notator-Einschlussnotation Taple-Einschlussnotation
Hinweise zur Erstellung des Kennwortgenerators
Zundokokiyoshi (Generator) in Python
NetworkX-Grafikgeneratorliste