为什么它不显示为“float”类型
why doesn't it show as a type `float`
当我发现一些我个人不知道的东西时,我只是在摆弄 python 命令提示符。
这是我要解开的一个谜团:
num = int(5) / 2
num == float # False
我发现它没有 return True
很奇怪。所以我尝试了其他运营商。
num == int # False
num == str # False
它们都是 return 错误,但是当我检查它是哪个时 type
。它给了我这个。
type(num) # Float
当我将它与 float
运算符进行比较时,它不应该 returned True
吗?
有人知道这是为什么吗?
您的 num
包含值 2.5
,它不包含 float
类型,因此 num == float
不可能为真
可真实的是
比较值2.5
print(num == 2.5) # true
比较 num 的类型与 float
类型
print(type(num) == float) # true
正在检查 num
的类型是否为 float
print(isinstance(num, float)) # true
您正在比较一个对象(类型为 float
)和一个 class(在本例中为 float
)。
要获得 True,您应该将 num
的类型与 float
:
进行比较
type(num) == float
您还可以这样做:
isinstance(num, float)
根据 PEP8(python 的编码风格约定)哪个更好。
两者都会 return True
.
实际上 num = int(5) / 2
给你的结果 2.5 不是浮动的,当你检查变量的类型时你必须写这样的东西
type(num) == float
不是
num == float
因为 num 是 2.5 而不是 float
当我发现一些我个人不知道的东西时,我只是在摆弄 python 命令提示符。
这是我要解开的一个谜团:
num = int(5) / 2
num == float # False
我发现它没有 return True
很奇怪。所以我尝试了其他运营商。
num == int # False
num == str # False
它们都是 return 错误,但是当我检查它是哪个时 type
。它给了我这个。
type(num) # Float
当我将它与 float
运算符进行比较时,它不应该 returned True
吗?
有人知道这是为什么吗?
您的 num
包含值 2.5
,它不包含 float
类型,因此 num == float
不可能为真
可真实的是
比较值
2.5
print(num == 2.5) # true
比较 num 的类型与
float
类型print(type(num) == float) # true
正在检查
num
的类型是否为float
print(isinstance(num, float)) # true
您正在比较一个对象(类型为 float
)和一个 class(在本例中为 float
)。
要获得 True,您应该将 num
的类型与 float
:
type(num) == float
您还可以这样做:
isinstance(num, float)
根据 PEP8(python 的编码风格约定)哪个更好。
两者都会 return True
.
实际上 num = int(5) / 2
给你的结果 2.5 不是浮动的,当你检查变量的类型时你必须写这样的东西
type(num) == float
不是
num == float
因为 num 是 2.5 而不是 float