它在REPL中
>>> 1 == True
True
>>> 2 == True
False
>>> 3 == True
False
>>> -1 == False
False但
if 3:
print('yes') #prints yes
if not -1:
print('yes') #prints nothing为什么在使用-语句时,正整数不被计算为真,而在if-语句中被计算为真? 2)为什么在使用==时,负整数不被计算为False,但在if-语句中也不被计算为假?最基本的规则是什么,写在哪里?
发布于 2021-05-07 02:55:28
除0以外的每个整数都计算为True。REPL给出的结果与if语句不同的原因是,您没有计算相同的表达式。
在您的REPL中,您是在询问is A equal to B。这只适用于False == 0或True == 1。在您的代码中,您没有进行比较。您只是在检查变量是否可以被视为“空/不存在”(可以这么说)。
简言之:
if a == True:和if a:不是一回事。
如果有帮助,你可以这样看待它:
if changeForADollar == myChange:对if anyChangeAtAll:
https://stackoverflow.com/questions/67428330
复制相似问题