获取实例的类名

如何找出用于在Python中创建对象实例的类的名称?

我不确定我应该使用检查模块还是解析属性。__class__


答案 1

您是否尝试过该类的__name__属性?ie会给你类的名称,我认为这是你想要的。type(x).__name__

>>> import itertools
>>> x = itertools.count(0)
>>> type(x).__name__
'count'

如果您仍在使用Python 2,请注意,上述方法仅适用于新样式的类(在Python 3 +中,所有类都是“新样式”类)。您的代码可能使用一些旧式类。以下两者都适用:

x.__class__.__name__

答案 2

是否要将类的名称作为字符串?

instance.__class__.__name__