Python Glossary English

все 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Сообщить о неточности