如果我执行此操作的函数是派生实例的基类,我如何在Python中找到创建对象实例的类名?
我在想也许the inspect module可以帮到我,但它似乎没有给我想要的东西。由于没有解析__class__
成员,我不确定如何获取这些信息。
发布于 2009-02-04 12:02:13
你试过这个类的__name__
attribute了吗?ie type(x).__name__
会给你类名,我想这就是你想要的。
>>> import itertools
>>> x = itertools.count(0)
>>> type(x).__name__
'count'
如果您仍在使用Python2,请注意上述方法仅适用于new-style classes (在Python 3+中,所有类都是“新风格”的类)。您的代码可能会使用一些旧式的类。以下方法适用于这两种情况:
x.__class__.__name__
发布于 2009-02-04 12:02:17
是否要将类的名称作为字符串?
instance.__class__.__name__
发布于 2009-02-04 11:42:32
>>> class A:
... def whoami(self):
... print(type(self).__name__)
...
>>>
>>> class B(A):
... pass
...
>>>
>>>
>>> o = B()
>>> o.whoami()
'B'
>>>
https://stackoverflow.com/questions/510972
复制相似问题