我应该使用’not x’或’x == 0’检查模数运算的结果在python中是否为零

我真的以为我已经在这上面找到了一些东西,也许它就在那里,我想念它.如果是这种情况我道歉,我会关闭这个问题.

我正在检查模运算是否返回零结果,我想知道哪些是“更好”(更pythonic,更快,无论如何):

如果不计算%mod OR,如果计数%mod == 0

我想我应该澄清并说我对truthy和falsey值有很好的理解,我只是想知道是否有一个具体的理由使用一个而不是另一个.特别是考虑到这总是一个数字(否则%运算符会抛出一个TypeError).

最佳答案 通常,使用非x而不是x == 0的风险是您可能匹配另一种也是假的值(例如,None或空列表).

在这种情况下,由于x必须是数字,因此使用非x表示x == 0是安全的.使用看起来更具可读性的.

对我来说,第一个版本看起来有点奇怪,因为我希望算术运算的结果被视为一个数字,所以我更喜欢第二个版本.但是,为了方便起见,有谬误,并且在很多情况下使用它是有意义的.

点赞