How do I achieve the effect of the ===
operator in Python?
For example, I don't want False == 0
to be True
.
How do I achieve the effect of the ===
operator in Python?
For example, I don't want False == 0
to be True
.
If you want to check that the value and type are the same use:
x == y and type(x) == type(y)
In Python, explicit type comparisons like this are usually avoided, but because booleans are a subclass of integers it's the only choice here.
x is y
compares identity—whether two names refer to the same object in memory. The Python boolean values are singletons so this will work when comparing them, but won't work for most types.
Try variable is False
. False is 0
returns False
,
Going with the Mathematica definition, here's a small function to do the job. Season delta
to taste:
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
You can use the is
operator to check for object identity. False is 0
will return False
then.