如果特定的输入变量是 1 vs True,我有一些代码我想做不同的事情。(简而言之,指的是对几个对象中的哪一个做某事,True 表示对所有对象都做,但这与这个问题并不特别相关。)
目前,我使用或多或少相当于:
if x is True:
# Do something
elif x is 1:
# Do something else
else:
# More possibilities follow...
但是在 Python 3.8 中,我现在得到了
SyntaxWarning: "is" with a literal. Did you mean "=="?
嗯,不,我没有。使用==
不区分True
and 1
,因为True == 1
在 python 中。
但听起来 python 开发人员认为使用is
文字总是一个错误。这只是一个警告,而不是错误,所以我现在仍然很好,但是我应该切换到的非错误方法是什么?