Forum: PC-Programmierung Bedingungsoperator in Python3


von Matthias S. (Gast)


Lesenswert?

Morgen.

Gibt es ein Pythonäquivalent für
1
a = 3 ? do(this) : do(that)

in C??

Im Netz finde ich nichts, dabei ists doch so praktisch.

von zitter_ned_aso (Gast)


Lesenswert?

anscheinend ja, hat es:

https://stackoverflow.com/questions/394809/does-python-have-a-ternary-conditional-operator

1
say_hello=True
2
3
print("hello") if say_hello else print("by")

von zitter_ned_aso (Gast)


Lesenswert?

"bye"

von Matthias S. (Gast)


Lesenswert?

ahh, danke

von MaWIn (Gast)


Lesenswert?

Suchbegriff:
tenary if

von Bernd K. (prof7bit)


Lesenswert?

zitter_ned_aso schrieb:

> say_hello=True
>
> print("hello") if say_hello else print("by")
>
>
> [/code]

eher so:

print("hello" if say_hello else "by")

Immerhin ist es ein Ausdruck, also kann man das auch nutzen, sonst wirds 
zu schwer zu lesen, die Grammatik für diese Zweitverwendung von if ist 
eh schon holprig genug, da kann man nicht deutlich genug klarmachen was 
das eigentlich sein soll für einen ungeübten Leser. Ein geschlossener 
Ausdruck ohne Seiteneffekte ist eh die bevorzugte Verwendung für dieses 
Konstrukt, auch in anderen Sprachen.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.