我怎样才能获得python类的名称?

时间:2009-05-14 19:58:27

标签: python reflection inspection

当我有一个对象foo时,我可以通过

获取它的类对象
str(foo.__class__)

然而,我需要的只是类的名称(例如“Foo”),上面会给我一些基本的内容

"<class 'my.package.Foo'>"

我知道我可以通过正则表达式很容易地得到它,但我想知道是否有更“干净”的方式。

3 个答案:

答案 0 :(得分:4)

尝试

__class__.__name__

答案 1 :(得分:3)

foo .__ class __.__ name__应该能为您提供所需的结果。

答案 2 :(得分:1)

Python 3.0.1 (r301:69561, Feb 13 2009, 20:04:18) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> class foo:
...     x = 1
...
>>> f = foo()
>>> f.__class__.__name__
'foo'
>>>