Wie funktionieren „und“ und „oder“, wenn sie in einer Anweisung kombiniert werden?
Aus irgendeinem Grund hat mich diese Funktion verwirrt:
def protocol(port):
return port == "443" and "https://" or "http://"
Kann jemand die Reihenfolge der Ereignisse hinter den Kulissen erklären, damit dies so funktioniert, wie es funktioniert.
Ich habe es so verstanden, bis ich es ausprobiert habe:
Entweder ein
def protocol(port):
if port == "443":
if bool("https://"):
return True
elif bool("http://"):
return True
return False
Oder B)
def protocol(port):
if port == "443":
return True + "https://"
else:
return True + "http://"
Ist dies ein Sonderfall in Python oder verstehe ich die Funktionsweise von Anweisungen völlig falsch?