Woo*_*ide 2 python arguments class function
我认为这是编程 101,但我错过的课程:
我有一个类,其中将大约 50 个默认参数传递给init。然后,用户可以在构造时为这些参数提供不同的值,或者他们可以以正常方式修改结果属性。
我想做的是创建一个函数,可能在该类之外,允许用户创建该类的多个版本,然后返回有用的信息。但是,函数中类的每次迭代都会为构造函数提供不同的参数。
如何最好地允许函数的用户向传递给类构造函数的函数提供参数。
这是我想要实现的目标:
class someClass(object):
def __init__(self, a=None, b=None, c=None, d=None, e=None):
self.a = a
self.b = b
self.c = c
self.d = d
self.e = e
def some_method(self):
# do something
return # something useful
simulations = {'1': {'a':3, 'e':6},
'2': {'b':2, 'c':1}}
def func(simulations=simulations):
results = []
for sim in simulations.keys():
sc = someClass(simulations[sim]) # use the arguments in the dict to pass to constructor
results.append(sc.some_method())
return results
Run Code Online (Sandbox Code Playgroud)
您可以使用**将字典解压缩为命名关键字:
sc = someClass(**simulations[sim])
Run Code Online (Sandbox Code Playgroud)
将提供3如a,6作为e第一次,然后2作为b与1作为c所述第二时间。
| 归档时间: |
|
| 查看次数: |
43 次 |
| 最近记录: |