Python 三目运算符使用详解

348 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第1天,点击查看活动详情

三目运算符

三目运算符,也称三元运算符,可用于根据指定条件选择两个值之一,是一种if···else语句的简写方式。

在C语言或其他一些编程语言中,三目运算符为? :,使用格式为判断条件 ? exp1 : exp2,表示的是:如果判断条件的结果为True,返回表达式exp1的值,否则返回表达式exp2的值。

Python 中并没有引入? :运算符,而是使用if···else进行实现,更容易理解,具体语法格式如下:

exp1 if condition else exp2

其中,condition为判断条件,exp1和exp2为两个表达式,如果condition判断为True就执行 表达式exp1并返回结果;如果condition判断为False,就执行表达式exp2并返回结果。

例如,返回两个值中较大的值:

a if a > b else b

上面代码可以解释为:如果 a>b,返回a,否则返回b。

三目运算符的嵌套使用

在 Python 中三目运算符支持嵌套使用,例如返回三个数中最大的值:

a = 11
b = 22
c = 33
print(a if a > b and a > c else b if b > c else c)

上面代码从左至右开始执行,满足if判断条件后,返回if前的表达式,不满足返回else后面的表达式,else后面又是一个三目运算符,会整体执行后再进行返回。

其实三目运算符只是一种语法糖而已,底层逻辑还是if···else实现的,执行效率也不比if···else更高,有些情况下效率还可能更低一些,所以有人会觉得没有实际的用处,但是使用它可以让代码更加简洁,看起来更直观一些,存在即合理吧。

原创不易,如果小伙伴们觉得有帮助,麻烦点个赞再走呗~

最后,感谢女朋友在工作和生活中的包容、理解与支持 !