bool在Python2和Python3中的区别

在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。

Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True==1、False==0 会返回 True,但可以通过 is 来判断类型。

print(bool.mro())  # 查看bool对应的继承关系
print(issubclass(bool, int))  # 检测bool是不是int的子类
print(True == 1)  # == 用于判断引用变量的值是否相等。
print('True + 1 = ', True + 1)
print(False == 0)
print('False + 1 = ', False + 1)
print(1 is True)  # is 用于判断两个变量引用对象是否为同一个,即来自同一个内存地址
print(id(True))
print(id(1))
print(0 is False)
print(isinstance(bool, int))

输出如下:

[<class 'bool'>, <class 'int'>, <class 'object'>]
True
True
True + 1 =  2
True
False + 1 =  1
False
140719784515408
140719784798000
False
False

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值