В учебниках Python3 указано, что «Можно присвоить результат сравнения или другое булево выражение для переменной». Приведенный пример:Python: Сравнить строки с оператором 'or'
>>> string1, string2, string3 = '', 'Trondheim', 'Hammer Dance'
>>> non_null = string1 or string2 or string3
>>> non_null
'Trondheim'
Что именно делает оператор «или» при сравнении строк? Почему выбирается «Тронхейм»?
В принципе, если string1 == True then non_null = string1 else if string2 == True then non_null = string2 else if string3 == True then non_null = string3 Он останавливается в строке2, потому что любая непустая строка является истиной в Python. – bi0phaz3
@ bi0phaz3: "string" == True false. Вы имеете в виду bool (string1) == True. – RemcoGerlich
Python может использовать неявно для этого, я думаю – bi0phaz3