__next__ in Generatoren und Iteratoren und was ist ein Methodenwrapper?
ch las über Generator und Iteratoren und die Rolle von__next__()
.
'__next__' in dir(mygen)
. ist wah
'__next__' in dir(mylist)
, ist falsc
Als ich genauer hinschaute,
'__next__' in dir (mylist.__iter__())
ist wah
warum is__next__
nur verfügbar für Liste, aber nur für__iter__()
undmygen
aber nichtmylist
. Wie funktioniert__iter__()
Anruf__next__
wenn wir die Liste mit Listenverständnis durchgehen
ei dem Versuch, den Generator manuell hochzuschalten (+1), rief ichmygen.__next__()
. Es existiert nicht Es existiert nur alsmygen.__next__
Das heißt Methoden-Wrapper.
was ist ein Methoden-Wrapper und was macht er? Wie ist es hier angewendet: inmygen() and __iter__() ?
wenn__next__
ist das, was sowohl der Generator als auch der Iterator bieten (und ihre einzigen Eigenschaften), was ist dann der Unterschied zwischen dem Generator und dem Iterator? *
Antwort zu 3: Gelöst, wie vom Mod / Editor vermerkt:
Unterschied zwischen Pythons Generatoren und Iteratoren
UPDATE: Sowohl Generator als auch Iterator haben__next__()
. Mein Fehler. Schaut euch die Protokolle an, irgendwiemygen.__next__()
Test gab mir Stopiter Ausnahme Fehler. Aber ich konnte diesen Fehler nicht noch einmal wiederholen.
ielen Dank für die Beantwortun