假设我有一个用 @property
装饰的方法。
有没有办法获取装饰方法的底层名称?
当属性没有 __name__
属性时,我如何打印属性的名称?
我正在尝试进行 RPC 调用,所有方法和静态函数都适用,但不适用于此。
最佳答案
属性具有以下属性:fget、fset 和 fdel,它们是对 getter/setter/deleter 函数的引用。
因此,您可以获得每个函数的__name__
(如果不是None
)
演示:
class Thing(object):
@property
def foo(self):
return "foo"
def get_baz(self):
return "baz"
bar = property(get_baz)
>>> Thing.foo.fget.__name__
'foo'
>>> Thing.bar.fget.__name__
'get_baz'
关于python - 如何获取装饰属性方法的方法名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51897851/