Python中的三元运算是什么?

有谁能简介一下Python中的三元运算(三目运算)呢?

喜欢这个问题 | 分享 | 新建回答

回答

东方不败

Feb 26, 2019
0 赞

三元运算符,又被称作在三目运算符,而在python中也叫条件表达式;根据指定条件的真(True)或伪(False)来返回相应的值。

具体的语法格式:条件为真返回的值 if 条件 else 条件为伪返回的值

示例如下:

>>> a = "^_^" if 1 < 2 else "-_-"
>>> a
'^_^'
>>> a = "^_^" if 1 > 2 else "-_-"
>>> a
'-_-'



此外python中还有一种更为轻灵的三目运算操作。(但是不常用,也不推荐)

具体的语法格式:( 条件为伪返回的值, 条件为真返回的值 )[ 条件 ]

示例如下:

>>> ( "-_-", "^_^" )[ 1 < 2 ]
'^_^'
>>> ( "-_-", "^_^" )[ 1 > 2 ]
'-_-'

这种方式的原理是把条件作为元组的索引,在python中True代表1,False代表0。

但是这种方式虽然更加轻灵,但是并不符合python的代码风格,容易混淆概念,也不符合布尔型的设计初衷,因此并不推荐这种三目运算操作方式。