基本的に、これは私が達成したいことです:
class Move(object):
def __init__(self, Attr):
if Attr:
self.attr = Attr
if hasattr(self, "attr"):
__call__ = self.hasTheAttr
else:
__call__ = self.hasNoAttr
def hasNoAttr(self):
#no args!
def hasTheAttr(func, arg1, arg2):
#do things with the args
__call__ = hasNoAttr
それが機能しないことはわかっています。常に hasNoAttr を使用しているだけです。私の最初の考えは、デコレータを使用することでしたが、私はデコレータにあまり精通しておらず、クラス属性が存在するかどうかに基づいてそれをベースにする方法を理解できませんでした.
実際の質問の部分: 条件に応じて x 関数または y 関数のいずれかの関数を決定論的に作成するにはどうすればよいでしょうか。