python三元运算符为什么把条件放中间

Python015

python三元运算符为什么把条件放中间,第1张

Python 三元运算符用于根据条件选择两个值之一。它是 if-else 语句的一个缩影,它将两个值之一分配给一个变量。

Python 三元运算符的语法是:

[statement_1] if [expression] else [statement_2]

如果表达式的计算结果为True,则选择statement_1。否则,如果表达式的计算结果为False,则选择statement_2。

您可以为statement_1和statement_2提供值、变量或语句。

提示:以下是本篇文章正文内容,下面案例可供参考

一、示例 1:使用三元运算符找出两个数字中的最大值。

以下程序中的三元运算符根据条件 a>b 分别计算为 True 或 False 来选择 a 或 b

Python没有三目运算符(?:),但有类似的替代方案,如下:

为真时的结果 if 判定条件 else 为假时的结果

举例:

如果77大于66,输出100,否则输出99

参考:

1、 冰与火之歌:Python的三元表达式

(1) variable = a if exper else b

(2)variable = (exper and [b] or [c])[0]

(2) variable = exper and b or c

上面三种用法都可以达到目的,类似C语言中 variable = exper ? b : c即:如果exper表达式的值为true则variable = b,否则,variable = c

例如:

a,b=1,2

max = (a if a >b else b)

max = (a >b and [a] or [b])[0] #list

max = (a >b and a or b)

现在大部分高级语言都支持“?”这个三元运算符(ternary operator),它对应的表达式如下:condition ? value if true : value if false。很奇怪的是,这么常用的运算符python居然不支持!诚然,我们可以通过if-else语句表达,但是本来一行代码可以完成的非要多行,明显不够简洁。没关系,在python里其实还是有对应的表达方式的。