写给朋友的Python知识点,Python 三元表达式 Y12

举报
梦想橡皮擦 发表于 2022/04/24 10:59:40 2022/04/24
【摘要】 Python 三元表达式是什么Python 中没有其它语言的三元表达式(三目运算符)相关说法,但是有类似的语法。在 Python 中,三元表达式是一种语法结构,一般被 Python 开发者叫做条件表达式,它的结构如下所示:表达式(1)为 True 执行语句 if 条件表达式(1) else 表达式(1)为 False 执行语句 怎么用 用于 if 语句简化三元表达式可以将简单的 if 语句...

Python 三元表达式是什么

Python 中没有其它语言的三元表达式(三目运算符)相关说法,但是有类似的语法。
在 Python 中,三元表达式是一种语法结构,一般被 Python 开发者叫做条件表达式,它的结构如下所示:

表达式(1)为 True 执行语句 if 条件表达式(1else 表达式(1)为 False 执行语句

怎么用

用于 if 语句简化

三元表达式可以将简单的 if 语句 缩减为一行代码。

age = 20

cn = "成年" if age >= 18 else "未成年"
print(cn)

if 语句 如下所示:

age = 20
if age >= 18 :
    cn = "成年"
else:
    cn = "未成年"

返回多个条语句

可以编写如下代码结构,在条件表达式中返回多条语句。

age = 20

cn = "成年", "大于18" if age >= 18 else "未成年"
print(cn)

代码返回一个元组,内容为 ('成年', '大于18') ,这里一定注意不要使用分号 ; ,否则只返回第一个语句的结果。

age = 20

cn = "成年"; "大于18" if age >= 18 else "未成年"
print(cn)

运行代码之后,输出 成年

提高场景

Python 条件表达式可以嵌套使用,但是建议最多嵌套两层,而且是在代码简单的情况下,具体编码可自行尝试。

在嵌套的时候,还需要注意 if 和 else 配对问题。

扩展知识

在很多地方会将 Python 的条件表达式进行扩展,出现下述两种用法,但都属于炫技能力,实战性不强。

例如下述内容:

元组条件表达式

age = 20

cn = ("未成年", "成年")[age >= 18]
print(cn)

语法格式如下所示

 (当后面的表达式为假时返回,当后面的表达式为真时返回)[条件表达式]

字典条件表达式

age = 20

cn = {False: "未成年", True: "成年"}[age >= 18]
print(cn)

你会发现,上述两种写法都有一些故弄玄虚,而且代码 非常不易 阅读,所以不建议实战编码时使用。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。