Python 中是否有任何运算符来检查和比较类型和值?



我知道像Javascript这样的其他语言有a == and ===运算符也有a != and !==运算符 Python 也有a === and !==(即检查类型并同时比较值的单个运算符,如 === 运算符(,如果没有,我们如何实现它。

不,你也不能自己真正实现它。

你可以用type来检查对象的类型,但是如果你只写一个检查type(x) is type(y) and x == y的函数,那么你得到的结果是[1][1.0]显示为等效的。虽然这可能满足您所说的要求,但我从未见过这不是要求疏忽的情况。

您可以尝试实现自己的深度类型检查比较,但这需要您知道如何深入研究执行比较时可能需要处理的每种类型。这可以为内置容器类型完成,但无法使其通用。

顺便说一句,如果你不知道is做什么,is看起来很像你想要的,但它实际上是完全不同的东西。is检查对象标识,而不是类型和值,从而产生类似x = 1000; x + 1 is not 1001的结果。

这将回答您的两个问题:

a=5
b=6
#To check value
print(a==b)
#output - False

#To check type
print(type(a)==type(b))
#output - True

检查类型

type(VariableName)

为了进行比较,很明显我们使用==,如果您要对任何特定数据类型进行一些特定的比较,那么答案可能会有所不同

为了只检查变量的类型,我们使用type

x = 10
type(x) # int

如果你想检查一个变量是否是特定类型的,我们使用isinstance

x = 2.0
isinstance(x, int) # False

isinstance也可用于检查类型组

x = 10
isinstance(x, (int, float)) #True

要检查相等性和类型,您可以使用==运算符和两个type()中的任何一个或组合isinstance()来获得所需的结果。

您可以使用"is"运算符。例如:

a = 1
b = True
print(a == b)
print(a is b)

输出:

> True
> False

最新更新