下面是一个伪代码和例子:
伪代码:
#如果条件为真,返回真 否则返回假
Code: [全选] [Expand/Collapse]
- condition_is_true if condition else condition_is_false
Code: [全选] [Expand/Collapse]
- is_fat = True
- state = "fat" if is_fat else "not fat"
另一个晦涩一点的用法比较少见,它使用了元组,请继续看:
伪代码:
Code: [全选] [Expand/Collapse]
- #(返回假,返回真)[真或假]
- (if_test_is_false, if_test_is_true)[test]
- 例子:
- fat = True
- fitness = ("skinny", "fat")[fat]
- print("Ali is ", fitness)
- #输出: Ali is fat
上面的例子没有被广泛使用,而且Python玩家一般不喜欢那样,因为没有Python味儿(Pythonic)。这样的用法很容易把真正的数据与true/false弄混。
另外一个不使用元组条件表达式的缘故是因为在元组中会把两个条件都执行,而 if-else 的条件表达式不会这样。
例如:
Code: [全选] [Expand/Collapse]
- condition = True
- print(2 if condition else 1/0)
- #输出: 2
- print((1/0, 2)[condition])
- #输出ZeroDivisionError异常