false?
Да
А так print(False or False or 0)
0
0
А так print(1 and (0 or []))
Как это?
false?
[]?
Нет
Ага
почему [] если стоит 1 'and'....
Ты же ответил так
Потому что крайний правый операнд []
ну я проверил
Так он вернет False как и )
Так and возвращает первый не истинный
Получается так. if 3>2 and 7>1: Условие сработает если and ничего не вернёт что-ли. Я думал если первый False вернёт False. А понял
True and True вернёт true
Это понятно, я к тому что если первое условие False, то зачем проверять дальше и можно вернуть False
and так и делает
Я забыл что код читается с права на лево
Загвоздка в том что я можно подумать что выведет именно False. А получается в условии if, вернёт именно [ ], а вместо него интерпретатор подставит False, или же в коде list (понимаю что он на C написан), в Python эквиваленте что-то вроде return False
False ? или я не учел какой-то хитрый кейс?
Там ниже есть ответ, но да
а в чем "приколюшка?"
Ответ False
эээм...ну да... там всегда возвращается bool :)
Заполненный словарь возвращает True, а тут он заполнен False, может запутать
Обсуждают сегодня