首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python: a、b=1,2和a=1;b=2严格等同吗?

Python: a、b=1,2和a=1;b=2严格等同吗?
EN

Stack Overflow用户
提问于 2014-09-21 16:44:46
回答 1查看 3.1K关注 0票数 3

我对以下问题感到困惑:

这样做是可行的:

代码语言:javascript
运行
复制
a, b = 1071, 1029
while(a%b != 0):
    a, b = b, a%b

但是,下面的代码段返回一个ZeroDivisionError错误消息:

代码语言:javascript
运行
复制
a, b = 1071, 1029
while(a%b != 0):
    a = b; b = a%b

虽然我认为两者都是完全等同的。

有人能把灯扔到这个上面吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-21 16:47:49

不是的。在……里面

代码语言:javascript
运行
复制
a, b = b, a%b

右侧首先计算为元组,因此a%b是使用a的原始值计算的。相比之下,

代码语言:javascript
运行
复制
a = b; b = a%b

a%b是在a被分配给b的值之后计算出来的,它将一个不同的结果分配给b

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

https://stackoverflow.com/questions/25961488

复制
相关文章

相似问题

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