推 germun: define只會執行一次 而呼叫則是內部每次都執行 09/09 22:16
→ alvinlin: 第二種result是區域變數,函數結果就沒了 09/10 00:46
推 Ryspon: 上面的推文只回答了後半部,之所以會延續前一次呼叫的結果 09/10 20:20
→ Ryspon: 是因為,Python 只在定義函式的時候會對 default argument 09/10 20:20
→ Ryspon: 進行一次賦值,加上 list 是 mutable 才會造成那樣的結果 09/10 20:20
推 TitanEric: 樓上正解 09/10 20:28
→ somoskylin: 題外話不建議第一種default 09/10 22:25
→ somoskylin: 用none會比較好喔 09/10 22:26
推 aaron880221: 3樓正解,這個問題的名字叫mutable default argument 09/11 17:52
→ s860134: print(buggy.__defaults__) 你會發現新大陸 09/12 00:48
→ h888512: 感謝各位!! 09/13 12:55