2016-02-26 4 views
-1

Я использую Python 3.4Есть ли короткий способ создать экземпляр класса с параметрами конструктора?

class baba(): 
    def __init__(self,a,b,c,d,e,f,g): 
    self.a = a 
    self.b = b 
    self.c = c 
    self.d = d 
    self.e = e 
    self.f = f 
    self.g = g 

IS есть более короткий путь, чтобы написать это? Помимо получения всех тех, кто, как Dict

ответ

1

Вы можете использовать **kwargs, а затем использовать setattr для создания экземпляра атрибутов:

class baba(): 
    def __init__(self, **kwargs): 
     for i in kwargs: 
      setattr(self, i, kwargs[i]) 

b = baba(a=1,b=2,c=4,d=5) 
print(b.a) # prints 1