我的问题可以通过以下代码简单说明:
def proceed(self, *args):
myname = ???
func = getattr(otherobj, myname)
result = func(*args)
# result = ... process result ..
return result
class dispatch(object):
def __init__(self, cond=1):
for index in range(1, cond):
setattr(self, 'step%u' % (index,), new.instancemethod(proceed, self, dispatch)
在调度实例之后必须有step1..stepn成员,在otherobj中调用相应的方法 . 怎么做?或者更具体地说:在'myname ='之后必须插入什么?
2 回答
如果方法被称为step1到stepn,你应该这样做:
如果你不知道这个名字,我不明白你想要达到的目的 .
不确定这是否有效,但您可以尝试利用闭包: