[問題] 程式新手問題VARARG
剛開始接觸程式設計 現在用bytes of python練習
VarArgs parameters這一章的東西我不太理解怎麼運作的
以下是書上的範例
def total(initial=5, *numbers, **keywords):
count = initial
for number in numbers:
count += number
for key in keywords:
count += keywords[key]
return count
print(total(10, 1, 2, 3, vegetables=50, fruits=100))
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
問題一:10, 1, 2, 3是被歸類到*numbers嗎?
而vegetables=50, fruits=100是被歸類到**keywords
問題二:count = initial接下來的計算不是應該會變成5+後面的數值 但打印出來結果
卻是166 一開始把initial=5這行的作用是什麼呢?
問題三:for number in numbers:
number是否因為加了*號所以被歸類到*numberS裡面
我後來把def total(initial=5, *numbers, **keywords):
裡面的numbers改成number結果也是一樣的 那為什麼要寫成number in numbers
但如果把for number in numbers
count += number
改成 for numbers in numbers
count += numbers
結果也是一樣的 那為什麼作者會用number做變數名稱呢
感覺使用numbers會比較好理解
超新手問題可能問的沒有很清楚 整個腦筋很打結啊..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.218.90
→
03/11 18:19, , 1F
03/11 18:19, 1F
→
03/11 18:21, , 2F
03/11 18:21, 2F
→
03/11 18:22, , 3F
03/11 18:22, 3F
→
03/11 18:23, , 4F
03/11 18:23, 4F
→
03/11 18:24, , 5F
03/11 18:24, 5F
→
03/11 18:28, , 6F
03/11 18:28, 6F
→
03/11 18:29, , 7F
03/11 18:29, 7F
→
03/11 18:29, , 8F
03/11 18:29, 8F
→
03/12 11:53, , 9F
03/12 11:53, 9F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章