您的位置:首页 > 编程语言 > Python开发

Python—三目运算

2019-08-01 23:09 1286 查看

Python 可通过 if 语句来实现三目运算的功能,因此可以近似地把这种 if 语句当成三目运算符。作为三目运算符的 if 语句的语法格式如下:

(True_statements) if (expression) else (False_statements)

三目运算的规则是:先对逻辑表达式 expression 求值,如果逻辑表达式返回 True,则执行并返回 True_statements 的值;如果逻辑表达式返回 False,则执行并返回 False_statements 的值。

举个栗子:

>>> isinput = True if input('input: ') else False
input: 996ICU
>>> isinput
True
>>> isinput = True if input('input: ') else False
input:
>>> isinput
False

三目运算简化写法:

变量 = 值1 or 值2
类似于
变量 = 值1 if 值1 else 值2

 
再来个栗子:

>>> content = input('input: ') or 'nothing'
input: 996ICU
>>> content
'996ICU'
>>> content = input('input: ') or 'nothing'
input:
>>> content
'nothing'

 

应用在print函数:

a = 996
b = 666
str_ = '996' if a < b else '666'
print(str_)
print('996' if True else 'icu')
print('996') if False else print('icu')
666
996
icu

 

Python允许在三目运算符的 True_statements 或 False_statements 中放置多条语句。
Python 主要支持以下两种放置方式:
1.多条语句以英文逗号隔开:每条语句都会执行,程序返回多条语句的返回值组成的元组。

>>> str_ = print('996'), 'True' if 5 > 0 else 'False', 'icu'
996
>>> str_
(None, 'True', 'icu')

2.多条语句以英文分号隔开:每条语句都会执行,程序只返回第一条语句的返回值。

>>> str_ = 'icu'; st = 'True' if 5 > 10 else print('ICU')
ICU
>>> str_
'icu'
>>> print(st)
None

 

嵌套三目运算

print('aaa') if True else (print('bbb') if False else print('ccc'))
print('aaa') if False else (print('bbb') if False else print('ccc'))
aaa
ccc
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: