使用类型转换在Python中进行比较

时间:2020-10-01 13:56:25

标签: python

>>> print(type(float)==type(str))
True

为什么是真的?

2 个答案:

答案 0 :(得分:1)

函数type完成了以下任务:

使用一个参数返回对象的类型。返回值是类型对象,通常与对象返回的对象相同。

strfloat是python的built-in data types。所以您的代码是这样的:

print(type(str))   # <class 'type'>
print(type(float)) # <class 'type'>

如果要获得期望的结果,可以使用以下代码:

s = "test"
f = 3.0
print(type(s)==type(f)) # false

答案 1 :(得分:0)

发生这种情况是因为type(float)和type(str)是“类型”对象

如果您需要验证浮点值的类型,则可以执行以下操作

select a.*
from a
where itemcount = 1 or
      not exists (select 1 from a a2 where a2.empid = a.empid and a2.itemcount = 1);

另一个带有字符串的示例:

float_value = 10.3
print(type(float_value) == float) # True