-1

对比下面的代码,python的“逻辑短路”规则是不是失效了?如果是这样,为什么它不起作用?

print([1].append(3) or 2)

结果是“2”,“逻辑短路”原则似乎失效了

print([1,3] or 2)

结果是'[1,3]','逻辑短路'原理是有效的。

4

1 回答 1

1

append对, like的调用[1].append(3)返回None(它们会更新列表,但这在这段代码中不可见)。print([1].append(3) or 2)is like print(None or 2)which is likeprint(2)因为None是假的。

例如:

>>> print([1].append(3))
None
于 2021-12-17T09:43:19.400 回答