栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

If和Inline if的优缺点是什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

If和Inline if的优缺点是什么?

内联

if
表达式的优点是它是一个表达式,这意味着您可以在其他表达式(列表推导,lambda函数等)中使用它。

内联

if
表达式的缺点 在于它是一个表达式,这意味着您不能在其中使用任何语句。


缺点的一个完美例子就是导致错误的原因:这

a = a/w
是一条语句,因此您不能在表达式中使用它。您必须编写以下代码:

if b == 2:    a = a*2else:    a = a/w

除了在这种特殊情况下,您只想

a
在这两种情况下都分配一些东西,因此您可以编写以下代码:

a = a*2 if b==2 else a/w

至于优势,请考虑以下几点:

odd_numbers = [number if number%2 else number+1 for number in numbers]

如果不使用

if
表达式,则必须将条件包装在命名函数中,这对于非平凡的情况而言是一件好事,但在这里过于冗长:

def oddify(number):    if number%2:        return number    else:        return number+1odd_numbers = [oddify(number) for number in numbers]

另外,请注意,以下示例 使用

if
(三进制条件)表达式,而是使用了
if
(条件过滤器)子句:

odd_numbers = [number for number in numbers if number % 2]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669661.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号