0
我想創建一個類,其實例的屬性是在實例化時定義的。如何定義一個類,在實例化時賦予它的參數成爲它的實例變量?
起初我還以爲我應該做這樣的事情,
class TestData(object): # Example via http://stackoverflow.com/questions/2641484/class-dict-self-init-args
def __init__(self, *args, **kwargs):
super(TestData, self).__init__()
for arg in args:
self.arg = arg
但會分配所有參數相同的屬性self.arg
並不會工作。
現在做我想找出如何定義一個可以輕鬆打印出所有屬性的類方法。 –
在這兩種情況下都不需要調用'__setattr__'。通常你應該避免直接調用雙下劃線魔術方法。只要做'setattr(self,arg,arg)'。 –
而不是覆蓋__dict__,最好更新它:'self .__ dict __。update(** kwargs)'。 – Daniel