4

pyton コードでは、オブジェクトのバインドされたメソッドを取得しました。このバインドされたメソッドだけを知っているので、そのオブジェクトのクラスを知りたいです。出来ますか?

サンプルコードは次のとおりです。

>>> class x:
...     def method(self):
...             pass
...
>>> x
<class __main__.x at 0xb737d1ac> 
>>> x_instance = x()
>>> x_instance
<__main__.x instance at 0xb737c7cc>
>>> boundmethod = x_instance.method
>>> boundmethod
<bound method x.method of <__main__.x instance at 0xb737c7cc>>
>>> str(boundmethod)
'<bound method x.method of <__main__.x instance at 0xb737c7cc>>'

私が知っているとしましょうboundmethod。クラスが であることを確認する方法はx?

4

1 に答える 1

6

その名前が必要な場合:

boundmethod.im_class.__name__

またはpython 3で:

boundmethod.__self__.__class__.__name__
于 2013-04-10T11:42:07.023 に答える