在遇到以下代码示例最后一行的输出时,我的第一反应不是'Trondheim',而是True。为什么我会有这样的想法?如果按我这样的想法,程序应该怎么改?
string1, string2, string3 = '', 'Trondheim', 'Hammer Dance'
non_null = string1 or string2 or string3
non_null
'Trondheim' #我的第一反应是True
print bool(non_null)
doc里有说。
DOC内容
具体的表达式定义为
基本翻译如下:
x or y
判断x是否为False(包括"", 0, None)
是,则输出y
否,则输出x
x and y
判断x是否为False(包括"", 0, None)
是,则输出x
否,则输出y