Назад к вопросамЧто выведет
JuniorКодИногда
Что выведет print(True + 4) и почему?
Предскажите вывод и объясните стоящую за ним связь типов.
print(True + 4)
print(True + True)
print(sum([True, False, True]))Определите вывод.
Выводит 5, 2, 2. В Python bool — подкласс int, где True == 1, а False == 0, поэтому булевы значения участвуют в арифметике напрямую. True + 4 — это 1 + 4, а sum булевых считает количество True. Поэтому суммирование списка условий подсчитывает, сколько из них истинны.
- Думать, что
boolне связан сintи не может участвовать в арифметике - Ожидать, что
True + 4возбудитTypeError - Забывать, что
sumбулевых подсчитывает количествоTrue
- Почему
Trueи1могут схлопнуться в один ключdict? - Что вернёт
isinstance(True, int)и почему?