零基础学Python编程(少儿趣味版)
上QQ阅读APP看书,第一时间看更新

2.4.3 空值与False

“问得好!”西西船长解释道,“Python语言中,会对变量进行隐含的类型转换。当非布尔类型的数据参与逻辑运算时,Python会自动将它转换成布尔类型”。转换规则是这样的。

1)数值0和其他一些空值的对象,如空字符串、空的列表、空的字典以及保留字None都转换为False。例如:


>>> bool(0)
False
>>> bool(0.0)
False
>>> bool(-0)
False
>>> bool((0-0j))            #复数0-0j
False
>>> bool('')              #空字符串
False
>>> bool([])
False
>>> bool({})
False
>>> bool(None)             #保留字None表示什么也没有
False
>>> bool()                 #没有参数时
False

2)其他具有实际值的对象都转换成True。例如:


>>> bool(-1)
True
>>> bool('a')
True
>>> bool([0])
True
>>> bool({'key':0})
True
>>> bool(print)             #函数也是一个实际对象
True

“这很符合逻辑——空值对应False,非空值对应True!”克里克里点着头说。