在Python 3.x中經常看到定義函數有一個單獨的 * 參數?定義這樣參數的目的是?怎樣對其取值呢?
01-03
def run(self, func, args=(), kwargs={}, *, callback):pass
這種參數叫命名關鍵字參數,它強迫你調用函數的時候寫出參數名。
只有與時俱進的Python教程才會涉及這些新內容:
函數的參數 - 廖雪峰的官方網站 (建議收藏該網站)
算是一個trick.Python3開始支持keyword-only 參數,如果你希望強迫調用者使用,在你期待的參數前加*:def f(a, * , b):
return a, b
這樣必須調用時明確寫出b:f(1, b = 2)摘自 Fluent Python,P149-150推薦閱讀: