子オブジェクトがインスタンスを作成する前にパラメーターを必要とするため、問題が発生する次のコードがあります。子オブジェクトの作成を処理するために何らかの関数を作成する必要がありますか?
私はできるようにしたい:
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)
私の実際のコードでは、プロファイルを作成する Web サイト内のタスクを自動化するための Python ラッパーを作成しています。各プロファイル内には多数の抽出があります。関連するすべてのルーチンを管理するには、この種のツリー構造が最適な方法であると考えました。
Web サイトへの接続側を維持するために親クラスが必要であり、各プロファイルparent.profile(profile_id)
に関連するタスク/ルーチンを含めたいと考えています。次に、各抽出に関連するタスク/ルーチンを含めたいと思います。parent.profile(profile_id).extract(extract_id)