我有兴趣将实例方法称为类方法和实例方法。这可以通过使用class_or_instance装饰器来完成,如下所示:class class_or_instance(object): def __init__(self, fn): self.fn = fn def __get__(self, obj, cls): if obj is not None: return lambda *args, **kwds: self.fn(obj, *args, **kwds) else: return lambda *args, **kwds: self.fn(cls, *args, **kwds)class A(object): @class_or_instance def func1(self,*args): # method body现在,我可以将func1称为 A.func1(*args)或A().func1(*args)。但是,执行此操作时,func1的文档字符串会消失。解决此问题的一种方法是使用decorator.py中的decorator,但是我很难使它与类(而不是函数)一起使用。关于如何进行此操作有什么建议吗?
添加回答
举报
0/150
提交
取消