13

===Python中如何实现运算符的效果?

例如,我不想False == 0成为True.

4

4 回答 4

40

如果要检查值和类型是否相同,请使用:

x == y and type(x) == type(y)

在 Python 中,通常会避免像这样的显式类型比较,但是因为布尔值是整数的子类,所以它是这里唯一的选择。


x is y比较身份——两个名称是否指代内存中的同一个对象。Python 布尔值是单例的,因此在比较它们时这将起作用,但不适用于大多数类型。

于 2011-07-17T17:40:25.330 回答
16

试试variable is FalseFalse is 0返回False,

于 2011-07-17T17:38:55.320 回答
2

根据 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
于 2011-09-19T17:13:42.177 回答
0

您可以使用is运算符来检查对象身份。False is 0届时将返回False

于 2011-07-17T17:39:29.833 回答