我的环境是: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。

如果绝对需要boolTrue的值,则强制转换为False是正确的,但是在大多数情况下,这是不必要的。

关于python - 关于真实性和 bool 值True和False,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39989478/

10-16 07:32