从Python中绑定方法对象的实例获取绑定方法的名称

时间:2013-10-16 15:51:20

标签: python methods

我有:

class A:
    def a():
       pass

输入python命令行后输入:

Aobj = A()
aBoundMeth = getattr(Aobj, 'a')

我的目标是获取 aBoundMeth 对象所代表的方法的名称。有可能吗? 提前谢谢。

1 个答案:

答案 0 :(得分:6)

假设方法的名称是字符串'a'(在本例中),您可以在函数对象上使用__name__属性。

e.g。

>>> Aobj = A()
>>> aBoundMeth = getattr(Aobj, 'a')
>>> aBoundMeth.__name__
'a'

请注意,这是创建时的函数名称。您可以对同一个函数进行更多引用,但名称不会更改。 e.g。

>>> class A(object):
...     def a(self):
...        pass
...     b = a
... 
>>> Aobj = A()
>>> Aobj.a.__name__
'a'
>>> Aobj.b.__name__
'a'