-5

我试图弄清楚什么是最pythonic的方式来做声明

if is not 100 or is not 101:
    do something:
4

1 回答 1

2

如果你有一个整数值并且你想测试它不是 100 也不是 101,你可以使用in带有元组的成员资格测试:

if foo not in (100, 101):

您不应身份测试 (isnot is) 与整数一起使用。身份测试适用于小整数(介于 -5 和 255 之间)的事实是 CPython 优化细节。身份与具有相同的价值不同;两个对象可以具有相同的值,但不一定是相同的引用:

>>> value1 = 4242
>>> value2 = 4242
>>> value1 == value2
True
>>> value1 is value2
False
>>> value3 = value1  # assignment
>>> value1 == value3
True
>>> value1 is value3
True
于 2013-10-18T17:35:44.300 回答