'if x%2:return True',如果数字可被2整除,那么不会返回True吗?

jay*_*anc 5 python python-2.7

我不明白是怎么if not x % 2: return True运作的.如果x不能被2整除,那么这是不是意味着?返回True?这就是我在这段代码中看到的.

我看到它if not x % 2: return True会返回相反的情况,如果一个数字可被2整除,则返回True.

我只是不明白这部分语法是如何工作的.

def is_even(x):
    if not x % 2:
        return True
    else:
        return False
Run Code Online (Sandbox Code Playgroud)

Kas*_*mvd 10

如果x不能被2整除,那么这是不是意味着?返回True?

不,因为当x不能被2整除时,结果x%2将是非零值,True将由Python 进行评估,因此not它将是False.

阅读更多关于python中的真值测试.


Joe*_*ker 7

模运算符%返回除法的余数.如果x可被2整除('偶数'),则余数为零,x % 2因此计算结果为零(= False),这使得整个表达式为True.