我的环境是:ubuntu 16.04&python 2.7.12。
我阅读了文档,发现''
,()
,[]
,{}
和None
在默认情况下都被视为False
。
但是我不明白下面的示例中发生了什么:
Python 2.7.12 (default, Jul 1 2016, 15:12:24)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a=''
>>> a==False
False
>>> a==True
False
>>> a=bool(a)
>>> a==False
True
>>>
>>>
>>>
>>> a="abcdefg"
>>> a==True
False
>>> a==False
False
>>> a=bool(a)
>>> a==True
True
>>>
我想得到正确的结果,看来我必须使用
bool()
函数来这样做。正确吗?为什么?
最佳答案
这些值并非等于False
,而是在布尔上下文中使用时它们的行为为false。
如果绝对需要bool
或True
的值,则强制转换为False
是正确的,但是在大多数情况下,这是不必要的。
关于python - 关于真实性和 bool 值True和False,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39989478/