python 中的and从左到右计算表达式,若所有值均为真,则返回最后一个值,若存在假,返回第一个假值。

or也是从左到有计算表达式,返回第一个为真的值。

代码如下:

IDLE 1.2.4
>>>'a'and'b'
'b'
>>>''and'b'
''
>>>'a'or'b'
'a'
>>>''or'b'
'b'


类似三目表达式的用法:bool? a : b

代码如下:

>>> a ='first'
>>> b ='second'
>>>1and a or b   # 等价于 bool = true时的情况
'first'
>>>0and a or b   # 等价于 bool = false时的情况
'second'
>>> a =''
>>>1and a or b   # a为假时,则出现问题
'second'
>>>(1and[a]or[b])[0]# 安全用法,因为[a]不可能为假,至少有一个元素
''
>>>

相关文章:

  • 2021-11-13
  • 2021-07-31
  • 2022-12-23
  • 2021-10-05
  • 2022-01-05
  • 2022-12-23
  • 2022-12-23
  • 2021-04-13
猜你喜欢
  • 2021-07-20
  • 2021-11-07
  • 2022-01-26
  • 2021-08-26
  • 2022-02-28
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案