首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >三元运算符

三元运算符

作者头像
Helloted
发布2022-06-06 19:32:27
发布2022-06-06 19:32:27
1K00
代码可运行
举报
文章被收录于专栏:HellotedHelloted
运行总次数:0
代码可运行

三元运算符在Python中通常被称为条件表达式。 这些运算符根据条件是否正确来评估某些事情。

样板:

代码语言:javascript
代码运行次数:0
运行
复制
condition_is_true if condition else condition_is_false

例子

代码语言:javascript
代码运行次数:0
运行
复制
is_fat = True
state = "fat" if is_fat else "not fat"

它允许快速测试条件而不是使用多行if语句。 通常这会非常有帮助,可以使代码紧凑但仍然可维护。

另一个比较模糊和没有被广泛使用的例子涉及tuples。 这是一些示例代码:

样板

代码语言:javascript
代码运行次数:0
运行
复制
(if_test_is_false, if_test_is_true)[test]

例子

代码语言:javascript
代码运行次数:0
运行
复制
fat = True
fitness = ("skinny", "fat")[fat]
print("Ali is ", fitness)
# Output: Ali is fat

这只是因为True == 1和False == 0,所以可以用元组和列表来完成。

上面的例子并没有被广泛使用,因为这个不Pythonic。 另外一个原因不使用是因为tuples里的每个元素都会被检测,但是if-else的三元运算不会

代码语言:javascript
代码运行次数:0
运行
复制
condition = True
print(2 if condition else 1/0)
#Output is 2

print((1/0, 2)[condition])
#ZeroDivisionError is raised

使用tupled三元技术,首先构建元组,然后找到索引。 对于if-else三元运算符,它遵循正常的if-else逻辑树。 因此,如果有一种情况可以根据条件引发异常,或者两种情况都是计算量大的方法,那么最好避免使用元组。


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档