本质上,这就是我想要完成的:
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 函数。