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)и почему?