“或”如何在变量赋值中起作用?

时间:2013-06-06 00:24:49

标签: python variables operators

这是如何工作的?文档在哪里?

a = 0 or "" or None or 2
print(a)

a = 2 or "" or None or 0
print(a)

1 个答案:

答案 0 :(得分:1)

or运算符视为函数:

or(x, y):
    if x:
        return x
    else:
        return y

然后a = 0 or ""将与a = or(0, "")相同。由于0评估为False,因此会返回""

现在,a = 0 or "" or None or 2基本上是

a = or(or(or(0, ""), None) 2)

最里面的or将返回"",下一个将会意识到""仍然评估为False并返回None,最外层将最终返回2 }}