Published on

Python 中的三元条件表达式

在看 PyTorch 的时候发现这样的代码:

device = 'cuda' if torch.cuda.is_available() else 'cpu'

最初比较疑惑为什么 'cuda' 不是写在 if 语句的后面,而是写在了前面。

原来这是 Python 中的三元条件表达式(Ternary Conditional Expression),结构是 真值 if 条件 else 假值

variable = value_if_true if condition else value_if_false

执行流程:

  1. 先计算 condition
  2. 如果 conditionTrue,返回 value_if_true
  3. 如果 conditionFalse,返回 value_if_false

THE END