How do I achieve the effect of the === operator in Python?

前端 未结 4 1296
轮回少年
轮回少年 2021-01-11 12:22

How do I achieve the effect of the === operator in Python?

For example, I don\'t want False == 0 to be True.

相关标签:
4条回答
  • 2021-01-11 12:34

    Try variable is False. False is 0 returns False,

    0 讨论(0)
  • 2021-01-11 12:47

    You can use the is operator to check for object identity. False is 0 will return False then.

    0 讨论(0)
  • 2021-01-11 12:50

    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
    
    0 讨论(0)
  • 2021-01-11 13:01

    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.

    0 讨论(0)
提交回复
热议问题