OR的复杂表达如何工作?

时间:2016-05-18 19:52:06

标签: python

该行是:

key1 = dictionary_name.get('key1', ['']) [0] or 0

我理解get方法和默认值,但我不知道or之后)发生了什么。该行似乎具有从目录中读取键值的功能,如果值为0,则返回' '
但是,该行(尤其是布尔or)的工作原理如何?

2 个答案:

答案 0 :(得分:-1)

空字符串在python中是假的,所以在这种情况下,如果找不到key1,则值为0

Python documentation

SO example

答案 1 :(得分:-1)

引用docs

  

表达式x or y首先评估x;如果x为真,则其值为   回;否则,将评估y,结果值为   返回。

     

[...]

     

请注意,andor都不会限制它们返回的值和类型   到FalseTrue,而是返回最后一个评估的参数。