我有下面的python函数,但是我对第2行(q,r= 0,n)感到困惑。
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用逗号分隔的方式有关吗?
发布于 2020-11-18 10:07:26
q, r = 0, n行实际上使用了元组解包。带括号的代码行看起来像(q, r) = (0, n),而不是q, (r = 0), n。基本上,它创建元组(0, n),将第一个元素分配给q,将第二个元素分配给r,因此代码等同于:
q = 0
r = nhttps://stackoverflow.com/questions/64885951
复制相似问题