条件表达式(或三元运算符)

三元运算符用于内联条件表达式。它最适用于易于阅读的简单,简洁的操作。

  • 参数的顺序与许多其他语言(例如 C,Ruby,Java 等)不同,当不熟悉 Python 的惊人行为的人使用它时(可能会颠倒顺序),这可能会导致错误。
  • 有些人觉得它笨拙,因为它与正常的思想流程相反(首先考虑条件然后考虑影响)。
n = 5

"Greater than 2" if n > 2 else "Smaller than or equal to 2"
# Out: 'Greater than 2'

这个表达式的结果将是用英语读取的 - 如果条件表达式为 True,那么它将计算到左侧的表达式,否则为右侧。

Tenary 操作也可以嵌套,如下所示:

n = 5
"Hello" if n > 10 else "Goodbye" if n > 5 else "Good day"

它们还提供了一种在 lambda 函数中包含条件的方法。