>>> print(type(float)==type(str))
True
为什么是真的?
答案 0 :(得分:1)
函数type完成了以下任务:
使用一个参数返回对象的类型。返回值是类型对象,通常与对象返回的对象相同。类。
str
和float
是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