我有一個函數傳遞默認參數爲嵌套函數蟒蛇
foo(x, setting1=def1, settings2=def2)
(其實這是和一幫,而我需要設置只有1個外部默認參數第三方庫的功能,但爲求例如..
的),我從
bar(y, settings2_in=def2)
x = get_x(y)
foo(x, settings2=settings2_in)
這是確定調用此,但在風格上我寧願稱之爲名稱的參數settings2_in
settings2
。當我繼續傳遞另一個圖層時,我將不得不重新命名參數,並且它變得很難看。
bletch(z, settings2_in_2=def2)
y = get_y(z)
bar(y, settings2_in=settings_in_2)
是否有一個「很好」/ Pythonic的方式來傳遞一個默認參數的子集在這種方式下的許多層功能?
是Python的足夠聰明的工作了,如果我做的:
bar(y, settings2=def2)
x = get_x(y)
foo(x, settings2=settings2)
那的settings2
2個用途是從上下文不同?
只是'酒吧(y,** kwargs)'然後'foo(x,** kwargs)'我猜 –
** kwargs看起來像很好地做到這一點。謝謝! –