首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在同一个变量的语句中使用多个等号?

为什么在同一个变量的语句中使用多个等号?
EN

Stack Overflow用户
提问于 2017-11-05 01:27:29
回答 1查看 2K关注 0票数 10

我遇到了使用相同变量的语句的示例代码:

代码语言:javascript
复制
event_type=event_type=str(payload_json['event'])

我试过:

代码语言:javascript
复制
a=b=c=d=10

所有四个变量(a、b、c和d)都变成10,例如:

代码语言:javascript
复制
a=10
b=10
c=10
d=10

这是一个Amazon代码示例,所以我怀疑我对Python的理解,而不是代码示例。这个页面可以在这里找到:AWS运动实例

这里可能发生什么事?一些我不懂的Python巫毒还是只是个错误?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-05 02:22:01

在python中,a = a = b总是等价于a = b。正如您所描述的那样,使用多个相同符号的语句称为链式分配,并在许多编程语言中得到支持。有些语言在检测到相同变量(C)的链式赋值时会产生错误,而其他语言则简单地忽略它(python,javascript)。

改变这种行为是个坏主意,而且不容易实现,因为赋值操作符的行为内置到python中,没有提供修改钩子(请参见:是否有可能超载Python赋值?)。因此,我认为可以安全地假设这是您发现的(无害的)错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47117319

复制
相关文章

相似问题

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