簡體   English   中英

我不明白為什么這些變量有這些值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM