3
我需要給出一個自動構建的方法的位置和默認參數。如果我不關心參數名稱或默認值,我會使用* args和** kwargs。這裏是什麼,我試圖做一個例子(注意,在運行時創建的方法中設置參數名稱和默認值
def make_method(params):
# Create method that's parameters are defined in params.
return method
params = {'param1': 'default_value', 'param2': None}
method = make_method(params)
對於每個非無值我想創建方法的位置參數和每個沒有價值我想創建一個默認參數。
的問題是,我不知道如何在運行時設置的參數名稱和默認值。我不想使用*指定參數和** kwars的方法,因爲它最好能夠有正確的簽名使用幫助()等時..有什麼辦法可以做到這一點?
哇。不知道爲什麼你需要**這樣做,但這是一個有趣的問題(我沒有答案,我害怕)。 – Day 2011-04-06 00:16:47
那天,我試圖從配置文件中自動構建一個程序,該文件包含方法名稱,參數,參數默認值列表以及該方法返回的規範。除了我希望help()函數更有用,並且我希望用戶能夠使用默認值以外,一切運行良好。 – nihlaak 2011-04-06 00:36:29
我認爲PARAMS不應該是一個字典,因爲你不能以可預測的順序迭代生成參數。也許arg規範的元組列表是一個更好的設計。 – 2011-04-06 02:11:09