我有一個方法的類:如何命名變量傳遞給函數在tupled形式的Python
class Learner:
def fit(x,y,iterations=1,subsample_proportion=0.1):
etc...
def predict(X):
etc..
和一個功能:
def error(learner,learner_args,X,Y):
learner.fit(learner_args)
Y_pred = learner.predict(X)
etc...
如何讓learner_args
元組通過在Python中的這個函數?
現在我有:
learner = ada_boost.AdaBoost
learner_args = (train_x,train_y,4,0.2)
而且這是行不通的。
此外,有沒有辦法將命名參數傳遞給函數調用?
如此,例如,在我的功能,我會做:
learner_args = (train_x,train_y,subsample_proportion=0.2)
忽略迭代。有沒有辦法在Python中做到這一點? (在語言的內部...不是通過使用字典並在任何地方測試數值)
太棒了。謝謝 – bordeo
@bordeo看看編輯後的答案是否適合你 – user2829759
我認爲它確實;我只需要做:'learner_args =(args,kwargs)',當我通過它的時候,'learner.fit(* learner_args [0],** learner_args [1])' – bordeo