这段代码在做什么?

lam*_*988 3 python

>>> string1, string2, string3 = '', 'Trondheim', 'Hammer Dance'
>>> non_null = string1 or string2 or string3
>>> non_null
'Trondheim'
Run Code Online (Sandbox Code Playgroud)

这样,通过此的蟒蛇教程页面,我不明白,2号线.

ICR*_*ICR 7

python or运算符可以定义为[1]:

x or y : if x is false, then y, else x
Run Code Online (Sandbox Code Playgroud)

当你这样做时string1 or string2,string1是一个空字符串,Python将其翻译为False(侧节点:某些编程语言执行此操作,其他编程语言不执行此操作),因此通过上面的定义,它将计算为值string2.当它这样做时(result of 'string1 or string2') or string3,string2不是一个空字符串,因此不等于False,所以它的计算结果为string2.

[1] http://docs.python.org/release/2.5.2/lib/boolean.html