← 返回知識庫刷題首頁
P1 · 應會

資料中級

可變預設參數 (Mutable Default Argument)

是什麼

Python 函式的預設參數只在函式定義時求值一次;若預設值是 list、dict 等可變物件,每次呼叫都共用同一個物件,前一次呼叫的修改會累積到下一次。

解決什麼問題

避免資料處理函式在多次呼叫間偷偷累積狀態;寫法是把預設值設為 None,再於函式內建立新的串列或字典。

考場 Trigger

  • 函式預設參數寫成 tags=[]
  • 連續呼叫後串列越來越長
  • 預設值只在定義時建立一次

中級深度

能推出 tags=[] 當預設值時連續呼叫兩次的輸出,並寫出改用 tags=None 再於函式內建串列的修正。

Official Evidence

官方題目正在怎麼考

1 官方題1 考綱節點