我希望能夠包裝一個函數,同時仍然允許外部函數中的可選(關鍵字)參數。我可以這樣做:包裝python函數,但讓外部函數具有關鍵字arg
def outer(p1, p2, *a, **k):
inner(*a, **k)
但是如果我想讓p2成爲「可選參數」呢?很顯然:
def outer(p1, p2=None, *a, **k):
inner(*a, **k)
將無法正常工作,我知道爲什麼它不會工作。我想知道是否有一個很好的,乾淨的方式來實現這一點。有一些着名的模式或慣例嗎?
使用函數裝飾器 – volcano
你究竟是什麼意思*它不會工作*? – alko
由**可選**你是否想要使用'p2'作爲關鍵字唯一的參數?如果是這樣的話,請嘗試:[Python 2.x - 帶有* args和** kwargs的默認參數](http://stackoverflow.com/q/15301999/846892) –