在 Python 中,任何非零值、非空字符串/列表/集合等都被视为True,其中None、空字符串/列表/集合等和0 被视为@ 987654325@if。此评估由bool() 完成。下面是插图。
my_list = ['a', 100, None, '', 0, {}, {'a': 1}, [], ['a']]
for item in my_list: # Iterate over each value and checks the condition
if item:
print item, ": True", ", Bool value: ", bool(item)
else:
print item, ": False", ", Bool value: ", bool(item)
哪个打印(明确格式化以提高可读性):
a : True , Bool value: True
100 : True , Bool value: True
None : False , Bool value: False
: False , Bool value: False
0 : False , Bool value: False
{} : False , Bool value: False
{'a': 1} : True , Bool value: True
[] : False , Bool value: False
['a'] : True , Bool value: True
如您所见,if 的执行被映射到bool() 值。