Как «и» и «или» работают, когда объединены в одном утверждении?
Почему-то эта функция меня смутила:
def protocol(port):
return port == "443" and "https://" or "http://"
Может кто-нибудь объяснить порядок того, что происходит за кулисами, чтобы сделать эту работу такой, какая она есть.
Я понял это, пока не попробовал:
Либо А)
def protocol(port):
if port == "443":
if bool("https://"):
return True
elif bool("http://"):
return True
return False
Или б)
def protocol(port):
if port == "443":
return True + "https://"
else:
return True + "http://"
Это какой-то особый случай в Python, или я совершенно не понимаю, как работают операторы?