A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Python 可通过 if 语句来实现三目运算的功能,因此可以近似地把这种 if 语句当成三目运算符。作为三目运算符的 if 语句的语法格式如下:
(True_statements) if (expression) else (False_statements)
三目运算的规则是:先对逻辑表达式 expression 求值,如果逻辑表达式返回 True,则执行并返回 True_statements 的值;如果逻辑表达式返回 False,则执行并返回 False_statements 的值。

举个栗子:
>>> isinput = True if input('input: ') else Falseinput: 996ICU>>> isinputTrue>>> isinput = True if input('input: ') else Falseinput: >>> isinputFalse
三目运算简化写法:
变量 = 值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 = 996b = 666str_ = '996' if a < b else '666'print(str_)print('996' if True else 'icu')print('996') if False else print('icu')666996icu

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'))aaaccc

2 个回复

倒序浏览
有任何问题欢迎在评论区留言
回复 使用道具 举报
或者添加学姐微信
DKA-2018
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马