Dreifach bedingte funktioniert ziemlich seltsam [Duplikat]
Posted: 05 Mar 2025, 13:51
Ich versuche die Variable zu bestehen, die ich mit einer bedingten Anweisung definiert habe: < /p>
Wenn variable1 definiert ist, habe ich es in meinem Code. Wenn variable2 definiert ist, habe ich das verwendet.
Es ist also nur mit Nummer 0, dass die Zuordnung nicht ordnungsgemäß für die variable Zuordnung erfolgt, da 0 'falsy' ist, mit allen restlichen Zahlen, die es funktioniert.>
Code: Select all
variable_in_code = variable1 or variable2
Code: Select all
print(None or None or 0) # -> outputs 0, as I would expect
print(None or 0 or None) # outputs None, a little weird to me
< /code>
Mit dieser funktionierenden Logik ist meine gesamte Variable -Zuweisung ruiniert: o. Wie würdest du das machen? < /li>
Warum verhält sich Python so? Ist es erwartet oder könnte es herumarbeiten? Im Allgemeinen mit einer anderen Zahl: < /p>
print(None or None or 13) # -> outputs 13, as I would expect
print(None or 13 or None) # outputs 13 too