У меня есть класс, который выполняет некоторые сложные вычисления и генерирует некоторый результат MyClass.myresults
.
MyClass.myresults
на самом деле сам класс с разными атрибутами (например, MyClass.myresults.mydf1
, MyClass.myresults.mydf2
.
Теперь мне нужно запустить MyClass
итеративно, следуя списку сценариев ios (scenarios=[1,2,[2,4], 5]
.
Это происходит с простым l oop:
for iter in scenarios:
iter = [iter] if isinstance(iter, int) else iter
myclass = MyClass() #Initialize MyClass
myclass.DoStuff(someInput) #Do stuff and get results
results.StoreScenario(myclass.myresults, iter)
и в конце каждой итерации хранить MyClass.myresults
.
Я хотел бы создать отдельный класс (Results
), который на каждой итерации создает подкласс scenario_1, scenario_2, scenario_2_4
и сохраняет в нем MyClass.myresults
.
class Results:
# no initialization, is an empty container to which I would like to add attributes iteratively
class StoreScenario:
def __init__(self, myresults, iter):
self.'scenario_'.join(str(iter)) = myresults #just a guess, I am assuming this is wrong
Предложения по различным подходам более чем приветствуются, я новичок в классах и не уверен, приемлем ли это подход или я делаю что-то ужасное (неуклюже, неэффективно с памятью или еще ).