[問題] 初學者的函式問題
Hi 各位先進好
小弟是初學者,請各位多多指教。小弟在看Lubanovic的Python教科書
有個地方不是很懂,如下:
def buggy(arg,result=[]):
result.append(arg)
print(result)
上述函式若呼叫兩次, 串列會繼承前一次呼叫的值,若第一次引數a,第二次b
則串列為['a','b']
但若為下述,則不會繼承前一次呼叫之值
def buggy(arg):
result = []
result.append(arg)
print(result)
小弟無法理解的是為何把result=[]寫在buggy括號內, 串列會繼承前次呼叫之值
雖然我自己寫會把result=[]寫在括號外...
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.214.170 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1568037973.A.A16.html
推
09/09 22:16,
4年前
, 1F
09/09 22:16, 1F
→
09/10 00:46,
4年前
, 2F
09/10 00:46, 2F
推
09/10 20:20,
4年前
, 3F
09/10 20:20, 3F
→
09/10 20:20,
4年前
, 4F
09/10 20:20, 4F
→
09/10 20:20,
4年前
, 5F
09/10 20:20, 5F
推
09/10 20:28,
4年前
, 6F
09/10 20:28, 6F
→
09/10 22:25,
4年前
, 7F
09/10 22:25, 7F
→
09/10 22:26,
4年前
, 8F
09/10 22:26, 8F
推
09/11 17:52,
4年前
, 9F
09/11 17:52, 9F
→
09/12 00:48,
4年前
, 10F
09/12 00:48, 10F
→
09/13 12:55,
4年前
, 11F
09/13 12:55, 11F