Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将参数从函数传递到类方法_Python_Function_Class_Arguments - Fatal编程技术网

Python 将参数从函数传递到类方法

Python 将参数从函数传递到类方法,python,function,class,arguments,Python,Function,Class,Arguments,我想这是编程101,但我错过的课程是: 我有一个类,其中大约有50个默认参数被传递到init。然后,用户可以在构造时为这些参数提供不同的值,也可以以正常方式修改结果属性 我想做的是创建一个函数,可能在该类之外,它允许用户创建该类的多个版本,然后返回有用的信息。但是,函数中类的每次迭代都会有不同的构造函数参数 如何最好地允许函数用户向传递给类构造函数的函数提供参数 以下是我努力实现的目标: class someClass(object): def __init__(self, a=None

我想这是编程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

您可以使用
**
来:

第一次将
3
作为
a
6
作为
e
提供,然后将
2
作为
b
提供,第二次将
1
作为
c
提供

sc = someClass(**simulations[sim])