1

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

str(foo.__class__)

然而,我只需要类的名称(例如“Foo”),上面会给我一些类似的东西

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

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

4

3 回答 3

4

尝试

__class__.__name__
于 2009-05-14T20:02:59.227 回答
3

foo.__class__.__name__ 应该给你你需要的结果。

于 2009-05-14T20:03:52.703 回答
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'
>>>
于 2009-05-14T20:06:40.293 回答