首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我不明白为什么这些变量有这些值

我不明白为什么这些变量有这些值
EN

Stack Overflow用户
提问于 2020-11-18 10:03:44
回答 1查看 35关注 0票数 1

我有下面的python函数,但是我对第2行(q,r= 0,n)感到困惑。

代码语言:javascript
复制
1 def div3(n):
2     q, r = 0, n
3     while r >= 3:
4         q, r = q+1, r-3
5     return q

div3(6)

如果我在第二行执行时运行函数,我得到了r=6、n=6和q=0,为什么会这样?我认为当函数第一次运行时,在执行第二行时,值应该是r=0、q=6和n=6?这与q,r和n用逗号分隔的方式有关吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-18 10:07:26

q, r = 0, n行实际上使用了元组解包。带括号的代码行看起来像(q, r) = (0, n),而不是q, (r = 0), n。基本上,它创建元组(0, n),将第一个元素分配给q,将第二个元素分配给r,因此代码等同于:

代码语言:javascript
复制
q = 0
r = n
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64885951

复制
相关文章

相似问题

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