我有一個有兩個必須有參數的類,我想為它提供一個可選參數的字典。我在 tensorflow optimizers中看到過類似風格的類定義。一個最小的例子是這樣的:class Dataset: def __init__(self, source, target, **kwargs): self.source = source self.target = target self.shuffle = kwargs['shuffle'] def shuffle(self): return self if __name__ == "__main__": source = [1, 2, 3, 4] targets = [0, 0, 1, 1] kwargs = { 'shuffle' : False, 'shift' : 10 } trainset = Dataset(source, targets, kwargs)并產生錯誤: File "test.py", line 20, in <module> trainset = Dataset(source, targets, *kwargs)TypeError: __init__() takes 3 positional arguments but 5 were given除了幫助我修復錯誤之外,如果這種混合了固定參數和可變參數的類定義不是最佳實踐,我將不勝感激。解決方案:在評論和回復之后,解決方案是使用Dataset(source, targets, **kwargs).
添加回答
舉報
0/150
提交
取消