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

避免“ if x:return x”语句的Python方法

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

避免“ if x:return x”语句的Python方法

您可以使用循环:

conditions = (check_size, check_color, check_tone, check_flavor)for condition in conditions:    result = condition()    if result:        return result

这样做还有一个好处,就是您现在可以使条件数可变。

您可以使用

map()
+
filter()
(Python
3版本,使用Python
2中的
future_builtins
版本)来获取第一个这样的匹配值:


try:    # Python 2    from future_builtins import map, filterexcept importError:    # Python 3    passconditions = (check_size, check_color, check_tone, check_flavor)return next(filter(None, map(lambda f: f(), conditions)), None)

但是,如果更具可读性,则值得商bat。

另一个选择是使用生成器表达式:

conditions = (check_size, check_color, check_tone, check_flavor)checks = (condition() for condition in conditions)return next((check for check in checks if check), None)


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

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

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