2

我有 :

class A:
    def a():
       pass

在 python 命令行中输入后:

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

我的目标是获取aBoundMeth对象所代表的方法的名称。有可能做到吗?先感谢您。

4

1 回答 1

7

假设方法的名称是字符串'a'(在这种情况下),您可以使用__name__函数对象上的属性。

例如

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

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

>>> class A(object):
...     def a(self):
...        pass
...     b = a
... 
>>> Aobj = A()
>>> Aobj.a.__name__
'a'
>>> Aobj.b.__name__
'a'
于 2013-10-16T15:53:51.867 回答