如何在Python中使用三元操作符

310 阅读1分钟

开发人员喜欢简洁的代码,易于阅读。Python中的三元操作符是一种语法,可以让你在一行中执行一个小的if/else语句。让我们来看看几个例子。

用三元运算法则选择较大的数字

bob_height = 6
jill_height = 7
larger_height = bob_height if bob_height > jill_height else jill_height

你会注意到,Python 中的三元组实际上看起来很像一个普通的 if/else 语句,只是被塞进了一行。这基本上就是它,除了它还返回一个值。

将这种语法与 JavaScript 的三元组进行对比,感觉有些不同:

const largerHeight = bobHeight > jillHeight ? bobHeight : jillHeight;

Python 中三元组的结构

现在你已经看到了一个例子,重要的是要理解发生了什么事:

`[on_true] if [expression] else [on_false]` 

on_true 如果 是真实的,就会返回,而expression on_false如果expression 是错误的,则返回。

Python中的嵌套三元组

首先,我需要把这句话说出来:请不要嵌套你的三元组!这很混乱,而且难以理解。这很让人困惑,也很难读懂。也就是说,下面是你会怎么做。

my_account = 100
wifes_account = 200

print("We have the same" if my_account == wifes_account else "I have more" if my_account > wifes_account else "Wife has more")

你应该在 Python 中使用三元组吗?

一般说来,是的。三元组是奇妙的语法糖,如果少用,可以使代码更简洁,更易读。你可能永远不应该嵌套三元组,或者试图在简单的赋值操作之外使用它们。如果过于频繁地使用三元组,你的代码就会变得很难让别人(或你自己)理解。