Python3学习随笔-002-20220619-三目运算


问题:在C语言中,有三目运算符。那么,在Python中,是否有等价的表达形式?

01 - 典型的if ... else ...结构

>>> a = 1
>>> b = 2
>>> if a > b:
...     print('yes')
... else:
...     print('no')
... 
no
>>> 

02 - 单行的if ... else ... 结构

>>> a = 1
>>> b = 2
>>> s = 'yes' if a > b else 'no'
>>> print(s)
no
>>> 

为了更清晰地表达多行if ... else ...和单行if ... else ...的区别,这里给出一个更完整的例子。

03 - 小结

  • Cfoo = a ? b : c
  • Bash: foo = a && b || c
  • Python: foo = b if a else c

相关