有没有一种用构造函数参数实例化类的捷径? [复制]

Posted

技术标签:

【中文标题】有没有一种用构造函数参数实例化类的捷径? [复制]【英文标题】:Is there a short way to instantiate a class with the constructor params? [duplicate] 【发布时间】:2016-06-09 02:00:44 【问题描述】:

我正在使用 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

有没有更短的方法来写这个? 除了将所有这些都作为字典

【问题讨论】:

【参考方案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

【讨论】:

以上是关于有没有一种用构造函数参数实例化类的捷径? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

这是一种在 javascript 中实例化类的方法吗? [复制]

为啥使用set注入,一定要给类提供一个无参的构造函数,否则Spring不能实例化类的.

Android IntentService 无法实例化类;没有空的构造函数

__construct() 构造函数

如何在 javascript 中调用实例化类的函数?

实例化类的时候代码运行顺序