为啥 1 == int 的计算结果为 False? [复制]
Posted
技术标签:
【中文标题】为啥 1 == int 的计算结果为 False? [复制]【英文标题】:Why does 1 == int evaluates to False? [duplicate]为什么 1 == int 的计算结果为 False? [复制] 【发布时间】:2018-03-08 20:16:06 【问题描述】:为什么这在 Python 3 中打印为 False?
>>> 1 == int
False
【问题讨论】:
因为您要比较两个对象,其中一个的值为 1,而另一个根本没有值。int
实际上是一个类型对象。它表示python中的一个类型,1
是一个int
类型对象。
当然int
有值;它不是一个 integer 值,而是一个类型值。
【参考方案1】:
我猜,你要使用的是这个:
>>> type(1) is int
True
或
>>> type(1) == int
True
【讨论】:
【参考方案2】:因为这根本不是你想的那样。您正在将整数值 1
与 type int
进行比较;自然是不平等的。
如果要检查对象是否属于某种类型,请使用isinstance
:
isinstance(1, int)
【讨论】:
以上是关于为啥 1 == int 的计算结果为 False? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Python:将空字符串与 False 进行比较是 False,为啥?
为啥 isNaN(" ")(带空格的字符串)等于 false?