<p>扩展了@mac的答案,考虑到OP请求一个类实例变量,并且他可能还想获得关于“private”方法的信息:</p>
<pre><code>In [5]: class Foo(object):
...: def m1(self):pass
...: def m2(self):pass
...:
In [6]: f = Foo()
In [7]: lst = dir(f)
In [8]: [m for m in lst if not m.endswith('__')]
Out[8]: ['m1', 'm2']
</code></pre>
<p>如果需要对象方法:</p>
^{pr2}$
<p>或者直接在列表中从实例中理解:</p>
<pre><code>In [18]: [getattr(f, m) for m in lst if not m.endswith('__')]
Out[18]:
[<bound method Foo.m1 of <__main__.Foo object at 0x00000000073DD1D0>>,
<bound method Foo.m2 of <__main__.Foo object at 0x00000000073DD1D0>>]
</code></pre>
<p>编辑:那么,根据你在链接中给出的例子,也许你在寻找类似的东西:</p>
<pre><code>class SomeClass:
store = {0: 'someMethod', 1: 'someMethod1'}
def __init__(self):
print('__init__')
def __del__(self):
print('__del__')
def get_dict(self):
return [getattr(self, att) for idx, att in SomeClass.store.items()]
def someMethod(): pass
def someMethod1(): pass
f = SomeClass()
print f.get_dict()
</code></pre>
<p>打印出:</p>
<pre><code>__init__
[<bound method SomeClass.someMethod of <__main__.SomeClass instance at 0x0000000
0026E2E08>>, <bound method SomeClass.someMethod1 of <__main__.SomeClass instance
at 0x00000000026E2E08>>]
__del__
</code></pre>