我知道像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