Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > de.comp.lang.python > #6260
| Path | csiph.com!weretis.net!feeder8.news.weretis.net!newsfeed.xs3.de!tahina.priv.at!news.luga.at!.POSTED.212.17.106.130!not-for-mail |
|---|---|
| From | "Peter J. Holzer" <hjp-usenet4@hjp.at> |
| Newsgroups | de.comp.lang.python |
| Subject | Re: [Python-de] Verstaendnis-Frage zu yield und Liste dahinter |
| Date | Thu, 20 Mar 2025 19:15:34 +0100 |
| Organization | LUGA |
| Message-ID | <slrnvtomq6.jo0i.hjp-usenet4@trintignant.hjp.at> (permalink) |
| References | <vrf3bc$4mvg$1@solani.org> <87v7s4eocl.fsf@vagabond.tim-landscheidt.de> <vrhjhs$5o94$1@solani.org> |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8 |
| Content-Transfer-Encoding | 8bit |
| Injection-Info | vinge.luga.at; posting-host="212.17.106.130"; logging-data="212107"; mail-complaints-to="usenet@vinge.luga.at" |
| User-Agent | slrn/1.0.3 (Linux) |
| Cancel-Lock | sha1:fHSQhas7teT68f2IVEfBQIHGUro= |
| Xref | csiph.com de.comp.lang.python:6260 |
Show key headers only | View raw
On 2025-03-20 17:33, Christian Winther <cwsolani2020@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
Back to de.comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
[Python-de] Verstaendnis-Frage zu yield und Liste dahinter Christian Winther <cwsolani2020@nurfuerspam.de> - 2025-03-19 19:45 +0100
Re: [Python-de] Verstaendnis-Frage zu yield und Liste dahinter Tim Landscheidt <tim@tim-landscheidt.de> - 2025-03-19 20:51 +0000
Re: [Python-de] Verstaendnis-Frage zu yield und Liste dahinter Christian Winther <cwsolani2020@nurfuerspam.de> - 2025-03-20 18:33 +0100
Re: [Python-de] Verstaendnis-Frage zu yield und Liste dahinter "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-03-20 19:15 +0100
Re: [Python-de] Verstaendnis-Frage zu yield und Liste dahinter Christian Winther <cwsolani2020@nurfuerspam.de> - 2025-03-20 19:34 +0100
Re: [Python-de] Verstaendnis-Frage zu yield und Liste dahinter Hermann Riemann <nospam.ng@hermann-riemann.de> - 2025-03-20 19:38 +0100
[Python-de] Re: Verstaendnis-Frage zu yield und Liste dahinter Hartmut Goebel <h.goebel@goebel-consult.de> - 2025-03-21 16:23 +0100
csiph-web