如果我从中执行此操作的函数是实例的类派生的基类,如何找出在 Python 中创建对象实例的类的名称?
想到也许检查模块可能帮助我在这里,但它似乎没有给我我想要的东西。如果没有解析__class__
成员,我不知道如何获取这些信息。
您是否尝试过__name__
属性?即type(x).__name__
将为您提供类的名称,我认为这就是您想要的。
>>> import itertools
>>> x = itertools.count(0)
>>> type(x).__name__
'count'
此方法仅适用于新样式的类 。您的代码可能会使用一些旧式类。以下适用于:
x.__class__.__name__
你想把类的名字作为字符串吗?
instance.__class__.__name__
type()?
>>> class A(object):
... def whoami(self):
... print type(self).__name__
...
>>>
>>> class B(A):
... pass
...
>>>
>>>
>>> o = B()
>>> o.whoami()
'B'
>>>