Я думаю, что это программирование 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