我有类:如何在Python中获取调用方法的名称(动态添加)?
class SimpleClass:
def __init__(self):
pass
def init_levels(self):
levels = get_levels_list()
for level in levels:
Transplant(foo, Simplelog, method_name=level)
移植是动态的添加方法类的类:
class Transplant:
def __init__(self, method, host, method_name=None):
self.host = host
self.method = method
self.method_name = method_name
setattr(host, method_name or method.__name__, self)
def __call__(self, *args, **kwargs):
nargs = [self.host]
nargs.extend(args)
return apply(self.method, nargs, kwargs)
富是 “移植” 功能:
def foo(self):
return
我怎样才能在foo里面调用方法名称?
比如我执行:
simpleinst = SimpleClass()
simpleinst.init_levels()
如何修改我的代码为FOO定义体越来越被调用的方法的名字吗?
谢谢!我只是将nargs = [self.host]替换为nargs = [self],现在我拥有所有的方法参数。 – SkyFox
更好。 :-) –