In meinem Programm begegnet mit diesem:Wie funktioniert die Kette von `und` Operatoren in Python?
>>> True and True and (3 or True)
3
>>> True and True and ('asd' or True)
'asd'
, während ich in Klammern auf das Ergebnis etwas boolean Wert abhängig erhalten erwartet. Also, wenn ich versuche, Vergleiche wie diese (0 or True)
oder ('' or True)
Python wird True
, die klar ist, weil 0
und ''
entspricht False
in Vergleichen.
Warum gibt Python keinen booleschen Wert zurück, indem 3
und 'asd'
in True
konvertiert werden?
Sind Sie fragen * was * 'und' tut, oder warum * konvertiert * das Ergebnis nicht automatisch in einen booleschen Wert? – user2357112
Auch das Einfügen von '(0 oder True)' oder '('' oder True)' hätte Ihnen 'False' nicht gegeben. Du hättest "True" bekommen. – user2357112
@ user2357112 ja, mein dummer Fehler. Aktualisiert. Bezüglich der Frage - ich war ein bisschen verwirrt, wie man es richtig stellt. Aber die Antwort unten klärt dieses Ding trotzdem – AmirM