最近在寫 ESP32 的 MicroPython 函式時要用到 **kwargs 參數, 很久沒用有點模糊, 搜尋谷歌時找到下面這篇寫得言簡意賅的好文章 :
摘要如下 :
- Python 函式的有預設值參數必須放在無預設值參數的後面
- *args 與 **kwargs 都是用來簡化函式參數的寫法
- *args 會將傳入的位置參數的值收集到一個 tuple
- **kwargs 會將傳入的關鍵字參數的名稱與值收集到一個 dict
- 參數用了 *arg 就不能再指名; 而用了 **kwargs 就一定要指名
- 同時使用 *args 與 **kwargs 時, *args 必須放在 **kwargs 前面 (關鍵字參數殿後)
- 可以用 * 區隔位置參數與關鍵字參數 (雖然沒必要), * 之前為位置參數, 之後為關鍵字參數
作者 Sky 已經將部落格移到 GitHub 去了, 新版網址如下 :
這種好站對偷學武功慣犯的我真是無上好物啊!
沒有留言 :
張貼留言