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