为啥 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】:

因为这根本不是你想的那样。您正在将整数值 1type int 进行比较;自然是不平等的。

如果要检查对象是否属于某种类型,请使用isinstance

isinstance(1, int)

【讨论】:

以上是关于为啥 1 == int 的计算结果为 False? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Python:将空字符串与 False 进行比较是 False,为啥?

为啥 isNaN(" ")(带空格的字符串)等于 false?

Java中short类型想加为啥会成为int型

为啥空列表在 Python 的 while 循环中计算为 False

c语言计算为啥结果不对

为啥在ruby中,[].all?i i==1 的结果为true?