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里其实还是有对应的表达方式的。