===
Python中如何实现运算符的效果?
例如,我不想False == 0
成为True
.
如果要检查值和类型是否相同,请使用:
x == y and type(x) == type(y)
在 Python 中,通常会避免像这样的显式类型比较,但是因为布尔值是整数的子类,所以它是这里唯一的选择。
x is y
比较身份——两个名称是否指代内存中的同一个对象。Python 布尔值是单例的,因此在比较它们时这将起作用,但不适用于大多数类型。
试试variable is False
。 False is 0
返回False
,
根据 Mathematica 的定义,这里有一个小函数来完成这项工作。调味delta
:
def SameQ(pram1, pram2, delta=0.0000001):
if type(pram1) == type(pram2):
if pram1 == pram2:
return True
try:
if abs(pram1 - pram2) <= delta:
return True
except Exception:
pass
return False
您可以使用is
运算符来检查对象身份。False is 0
届时将返回False
。