On 2025-03-20 17:33, Christian Winther <cwsolani2...@nurfuerspam.de> wrote:
> Am 19.03.2025 um 21:51 schrieb Tim Landscheidt:
> [...]
>>> Frage:
>> 
>>> Was gibt
>>>         yield name, {}
>> 
>>> zurück?
>> 
>>> Speziell: Was macht/beinhaltet der Ausdruck: {}
>> 
>> „{}“ ist ein leeres „dictionary“
>> (https://docs.python.org/3/tutorial/datastructures.html#dictionaries).
>> Die yield-Anweisung gibt jeweils ein Tupel mit zwei Werten
>> zurück, von denen der erste der Wert von name ist und der
>> zweite ein leeres dictionary. Einfacheres Beispiel:
>
> danke für Deine Erklärung.
>
> So richtig bringt mich das auch nicht weiter.

Bezieht sich Dein Verständnisproblem vielleicht eher darauf, was »yield«
macht? Das scheint mir jedenfalls konzeptionell schwieriger zu sein als
ein leeres Dictionary.

»yield« dient der Implementation von Generatoren bzw. Coroutinen. Es
unterbricht die Ausführung und liefert die Werte an den Aufrufer zurück,
aber im Gegensatz zu »return« ist die Funktion damit noch nicht beendet,
sondern setzt an der Stelle fort, wenn man den nächsten Wert anfprdert.

Hier ist z.B. ein (ziemlich sinnloses) Programm, an dem man das sieht:

#!/usr/bin/python3
def g():
    print("g1")
    yield 1
    print("g2")
    yield 2
    print("g3")
    yield 3
    print("g4")
    yield 4

for i in g():
    print("<<")
    print(i)
    print(">>")

gg = g()
print("=1")
print(next(gg))
print("=2")
print(next(gg))
print("=3")

        hjp
_______________________________________________
python-de Mailingliste -- python-de@python.org
Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an 
python-de-le...@python.org
https://mail.python.org/mailman3/lists/python-de.python.org/
Mitgliedsadresse: arch...@mail-archive.com

Reply via email to