当我有一个对象 foo 时,我可以通过
str(foo.__class__)
然而,我只需要类的名称(例如“Foo”),上面会给我一些类似的东西
"<class 'my.package.Foo'>"
我知道我可以用正则表达式很容易地得到它,但我想知道是否有更“干净”的方式。
当我有一个对象 foo 时,我可以通过
str(foo.__class__)
然而,我只需要类的名称(例如“Foo”),上面会给我一些类似的东西
"<class 'my.package.Foo'>"
我知道我可以用正则表达式很容易地得到它,但我想知道是否有更“干净”的方式。
尝试
__class__.__name__
foo.__class__.__name__ 应该给你你需要的结果。
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'
>>>