为什么Python在if语句中将字符串/数字评估为True还是myNumber == True返回False?

以下将打印’ok’:

if 5:
   print('ok')

然而当我这样做时:

print(5 == True) 

输出为False.

字符串也会发生同样的事情.为什么?

解决方法:

你在这里测试不同的东西.

if只是检查表达式的bool(参见“Truth value testing”)是否为True,如果标识等于True.

那么if实际测试的是:

>>> bool(5) == True
True
上一篇:如何从C#程序员的角度为Java评估做准备?


下一篇:在Java8中模拟Lazy