【发布时间】:2014-06-23 15:11:06
【问题描述】:
我使用and 运算符得到以下输出
代码
>>>0 and []
0
>>>[] and 0
[]
>>> 0 and ''
0
>>>'' and 0
''
我无法弄清楚在放置元素的基础上我得到不同结果的依据是什么..
【问题讨论】:
-
x and y等价于y if x else x。类似地,x or y是x if x else y,这对于分配默认值很方便。 -
我不清楚为什么 Martijn Pieters 将此标记为短路的副本。这与短路无关。真实性不是短路的问题,无论有没有它,Python 中的答案都是一样的。