true在python语言中是_在Python中的False == 0和True == 1是一个实现细节还是由语言保证?...

在Python 2.x中,这不能保证,因为可以重新分配True和False。但是,即使发生这种情况,boolean True和boolean False仍然会正确返回进行比较。

在Python 3.x True和False是关键字,将始终等于1和0。

正常情况下在Python 2中,总是在Python 3:

False对象的类型是bool,它是int的子类:

object

|

int

|

bool

这是在你的例子中,[‘zero’,’one’] [False]工作的唯一原因。它不适用于不是整数子类的对象,因为列表索引只能使用整数或定义了__index__方法的对象(感谢mark-dickinson)。

编辑:

There are two types of integers: […] Integers (int) […] Booleans (bool)

并在布尔子节中:

Booleans: These represent the truth values False and True […] Boolean values behave like the values 0 and 1, respectively, in almost all contexts, the exception being that when converted to a string, the strings “False” or “True” are returned, respectively.

因此,在Python 2.6和3中,布尔值被明确地视为整数。

所以你是安全的,直到Python 4出现。 😉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值