У меня есть следующий код, где возникает проблема, потому что дочерние объекты требуют параметров, прежде чем они смогут создать экземпляр. Нужно ли мне создавать какую-то функцию для обработки создания дочерних объектов?Создание структуры класса parent.child, где у ребенка есть
Я хочу быть в состоянии сделать:
a = parent()
a.other('param').double(2)
2
a.other('param').other_class('another_param').square(4)
16
Это мой код:
class parent(object):
def __init__(self):
self.other = other_class2(self)
self.answer = None
def multiply(self,x,y):
self.answer = x*y
return x*y
def add(self,x,y):
self.answer = x+y
return x+y
class other_class(object):
def __init__(self,parent,inputed_param):
self.parent = parent
self.input = inputed_param
def square(self,x):
self.answer = self.parent.parent.multiply(x,x)
return self.parent.parent.multiply(x,x)
class other_class2(object):
def __init__(self,parent,inputed_param):
self.parent = parent
self.other_class = other_class(self)
self.input = inputed_param
def double(self,x):
self.answer = self.parent.add(x,x)
return self.parent.add(x,x)
В моем фактическом коде я создаю питона обертку для автоматизации задач в веб-сайт, который создает профили, в каждом из профиль - это номер выдержки. Я думал, что такая древовидная структура будет лучшим способом управления всеми связанными подпрограммами.
Мне нужен родительский класс для поддержания связи с сайтом, и я хотел бы, чтобы parent.profile(profile_id)
содержал задачи/процедуры, связанные с каждым профилем. Затем мне хотелось бы parent.profile(profile_id).extract(extract_id)
содержать задачи/подпрограммы, связанные с каждым из выпиской.