bool()是python的内置函数
- 参数如果缺省,则返回False
>>> bool()
False
- 传入布尔类型,按原值返回
>>> bool(True)
True
>>> bool(False)
False
- 传入字符串,空字符串返回False,否则返回True
>>> bool('')
False
>>> bool('0')
True
- 传入数值时,0值返回False,否则返回True
>>> bool(0)
False
>>> bool(0.0)
False
>>> bool(1)
True
>>> bool(-1.0)
True
>>> bool(+0) # 传入正0或者负0,结果还是False
False
>>> bool(-0)
False
>>> from decimal import Decimal
>>> bool(Decimal(0))
False
>>> bool(Decimal(0.0))
False
>>> bool(Decimal('0'))
False
>>> bool(Decimal('0.0'))
False
- 传入元组,列表,字典等对象时,元素个数为空返回False, 否则返回True
>>> bool(()) #空元组
False
>>> bool((0,)) #非空元组
True
>>> bool([]) #空列表
False
>>> bool([0]) #非空列表
True
>>> bool({}) #空字典
False
>>> bool({'k':'v'}) #非空字典
True
Tips:
字符串的’0’,是字符串,但不是空字符串,因此返回bool(‘0’)返回True
注意:
在PHP中 var_dump((bool) ‘0’); 输出 bool(false),所以熟悉PHP的小伙伴要当心PHP和Python的不同之处。