0

可能重复:
为什么当“if not []”成功时“[] == False”评估为 False?

逻辑测试 a==True 怎么可能产生 False,但是如果 a: 有效?请看下面的代码

>>> a = bin(0)
>>> if a:
    print a == True, 'HOWWWW???????'


False HOWWWW???????
>>> type(a)
<type 'str'>
>>> 
4

3 回答 3

6

if语句不依赖于值是否等于 true 。这取决于是否bool(a)等于 True,在这种情况下它是。在布尔上下文中,非空字符串被认为是真的。请参阅文档

于 2012-12-27T20:19:33.643 回答
0

好的,在 python 中,您似乎无法以这种方式测试字符串:

>>> a == False
False
>>> a == True
False
>>> 
于 2012-12-27T20:19:14.393 回答
0

对于字符串aif a等价于if len(a)!=0

于 2012-12-27T20:19:15.390 回答