【技能树共建】Python 三元表达式
Python 三元表达式是什么
Python 中没有其它语言的三元表达式(三目运算符)相关说法,但是有类似的语法。在 Python 中,三元表达式是一种语法结构,一般被 Python 开发者叫做条件表达式,它的结构如下所示:
复制代码
怎么用
用于 if 语句简化
三元表达式可以将简单的 if 语句 缩减为一行代码。
复制代码
原 if 语句 如下所示:
复制代码
返回多个条语句
可以编写如下代码结构,在条件表达式中返回多条语句。
复制代码
代码返回一个元组,内容为 ('成年', '大于18')
,这里一定注意不要使用分号 ;
,否则只返回第一个语句的结果。
复制代码
运行代码之后,输出 成年
。
在函数内部使用三元表达式
有些简单的判定逻辑,可以直接使用三元表达式简化,例如判断传入参数是否为偶数。
复制代码
三元表达式用于列表推导式
在列表推导式知识点中,也存在三元表达式的落地应用,例如下述代码。
复制代码
上述代码重点注意列表生成器部分代码,三元表达式所在位置。
三元表达式与 lambda
有时候可以将三元表达式与 lambda 进行结合,让代码变得更加简洁。
声明一个函数,返回较大值
复制代码
由于上述代码非常简单,可以直接使用 lambda 匿名函数实现。
复制代码
提高场景
Python 条件表达式可以嵌套使用,但是建议最多嵌套两层,而且是在代码简单的情况下,具体编码如下所示,你需要重点学习下述问题。
在嵌套的时候,还需要注意 if 和 else 配对问题。
复制代码
扩展知识
在很多地方会将 Python 的条件表达式进行扩展,出现下述两种用法,但都属于炫技能力,实战性不强。
例如下述内容:
元组条件表达式
复制代码
语法格式如下所示
复制代码
字典条件表达式
复制代码
你会发现,上述两种写法都有一些故弄玄虚,而且代码 非常不易 阅读,所以不建议实战编码时使用。
版权声明: 本文为 InfoQ 作者【梦想橡皮擦】的原创文章。
原文链接:【http://xie.infoq.cn/article/80345928a0d8ed7197edba81e】。文章转载请联系作者。
评论