python2的环境下 为什么type(1)==int==True显示的是False

发布网友 发布时间:2022-04-22 17:16

我来回答

2个回答

热心网友 时间:2023-11-13 13:39

因为Python支持 链式比较 ChainedComparisons,例如 1 < 2 < 3 返回 True 就是因为类似这样的语句python会执行链式比较,等价于 1<2 and 2<3,所以:

type(1)==int==True
等价于 
type(1)==int and int==True

type(1)返回int类型 == int 正确,int类型 == True布尔类实例 错误,故最后返回False

热心网友 时间:2023-11-13 13:40

073在python中默认为八进制数,而int(073)的功能就在于把073这个八进制数转化为59这个十进制数。你可以手工检查一下,0 x 8² + 7 x 8 + 3 x 1 = 56 + 3 = 59。
True和False在python中实际上是有数值的,True的值为1,False的值为0,但是你输出的话还是只能输出True和False,你只有在进行运算的时候才能用1和0这样的数值。这就是python功能强大的地方。你可以算一下True + 1 = 2,False + 1 = 1,False**5 = 0,这样的例子。追问但是就算type(1)==int得到的值是1,但是1==True也理当输出为TRUE啊

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com