首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python是否有像C++这样的逗号操作符

python是否有像C++这样的逗号操作符
EN

Stack Overflow用户
提问于 2011-08-03 14:51:57
回答 3查看 1.2K关注 0票数 6

在C语言(和C语言系列)中,表达式(4+7, 5+2)返回7。但是在Python语言中相同的表达式会产生一个元组(11, 7)

那么python有没有像C一样的逗号操作符呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-03 15:07:01

您应该使用类似下面的内容来替换它:

代码语言:javascript
复制
comma_operated = (4+7, 5+2)[-1]

但正如评论中正确指出的那样,你为什么想要它呢?它在C或C++中很少使用,这是有充分理由的。

票数 9
EN

Stack Overflow用户

发布于 2011-08-03 14:53:22

AFAIK,不尽管你可以使用两行而不是一行来模拟这一过程。:-)

代码语言:javascript
复制
x = (call_one(), call_two())

# is almost the same as

call_one()
x = call_two()

# or
x = (call_one(), call_two())[1]
票数 5
EN

Stack Overflow用户

发布于 2019-03-01 03:07:08

此问题的更新。

目前接受的答案是不完整的,因为它不允许以这种方式使用赋值表达式(例如,(a = 1, a+2)[-1]会生成错误)。

Python3.8现在提出了Assignment Expressions,理论上应该可以实现这一点。

代码语言:javascript
复制
( a := 1, a + 2)[-1]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6922677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档