Гарантировано ли это, что False == 0
и True == 1
в Python (если они не переназначены пользователем)? Например, каким-либо образом гарантируется, что следующий код всегда будет давать одинаковые результаты независимо от версии Python (как существующих, так и будущих будущих)?
0 == False # True
1 == True # True
['zero', 'one'][False] # is 'zero'
Любая ссылка на официальную документацию была бы высоко оценена!
Изменить: Как отмечено во многих ответах, bool
наследует от int
. Поэтому вопрос может быть переработан как: "Официально ли документация говорит, что программисты могут полагаться на логические значения, наследуемые от целых чисел, со значениями 0
и 1
?". Этот вопрос имеет значение для написания надежного кода, который не будет терпеть неудачу из-за деталей реализации!