我不明白为什么这些变量有这些值
I don't understand why these variables have these values
我有以下 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用逗号分隔的方式有关系吗?
q, r = 0, n
行实际上使用了元组拆包。加上括号,该行看起来像 (q, r) = (0, n)
,而不是 q, (r = 0), n
。基本上,它创建元组 (0, n)
,将第一个元素分配给 q
,将第二个元素分配给 r
,因此代码等同于:
q = 0
r = n
我有以下 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用逗号分隔的方式有关系吗?
q, r = 0, n
行实际上使用了元组拆包。加上括号,该行看起来像 (q, r) = (0, n)
,而不是 q, (r = 0), n
。基本上,它创建元组 (0, n)
,将第一个元素分配给 q
,将第二个元素分配给 r
,因此代码等同于:
q = 0
r = n