все Python 3Встроенные типыпонятие
True
особые значения
Логическая истина — один из двух экземпляров bool. Так как bool — подкласс int, True ведёт себя как 1: True + True == 2.
Синтаксис
True
True — встроенная константа: присвоить ей значение нельзя, это SyntaxError. Раз bool наследует int, True == 1, поэтому sum() по списку флагов считает истинные, а ключи True и 1 в словаре совпадают. Ловушка — проверки x == True и x is True: первая спрашивает «равно ли единице», вторая — «тот ли это самый объект True», и обе отвергают истинное 2 или непустой список; чтобы спросить «истинно ли», пишите просто if x:.
Примеры
print(type(True).__name__, isinstance(True, int)) # → bool True
print(True + True) # → 2
print(sum([True, False, True])) # → 2 — считает истинные
x = 1
print(x == True, x is True) # → True False — равно, но не тот объект
y = 2
print(y == True, bool(y)) # → False True — истинно, но не равно True
exec('True = 1') # → SyntaxError
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности