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
相关文章推荐
- python开发中的三目运算
- Python三目运算,and or陷阱
- python中类似三目运算法则
- Python 三目运算,列表解析,装饰器,迭代器和生成器
- python 三目运算
- python 三目运算
- python如何实现三目运算
- 【转】Python三目运算,and or陷阱
- 【Python】Python三目运算,and or陷阱
- Python模拟C语言的三目运算
- Python中实现三目运算的方法
- 使用Python的判断语句模拟三目运算
- Python三目运算,and or陷阱
- Python 的三目运算
- 畅游Python 四:三目运算和数据类型补充
- Python学习笔记(五)【分支语句if...else、三目运算、格式化输出】
- Python中实现三目运算的方法
- Python3.x中的三目运算实现方法
- Python 三目运算
- 利用python进入数据分析之数据聚合与数据分组运算