[英]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? 它與qr和n用逗號分隔的方式有關嗎?
q, r = 0, n
行實際上使用了元組拆包。 使用括號,該行看起來像(q, r) = (0, n)
,而不是q, (r = 0), n
。 基本上,它創建元組(0, n)
,將第一個元素分配給q
,將第二個元素分配給r
,因此代碼等效於:
q = 0
r = n
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.