获取子类名称?
是否可以获取子类的名称?例如:
class Foo:
def bar(self):
print type(self)
class SubFoo(Foo):
pass
SubFoo().bar()
将打印: < type 'instance' >
我正在寻找一种获取途径"SubFoo"
。
我知道您可以做到isinstance
,但是我不知道该类的名称是先验的,所以这对我不起作用。
-
#!/usr/bin/python class Foo(object): def bar(self): print type(self) class SubFoo(Foo): pass SubFoo().bar()
from的子类
object
为您提供了新型的类(不再是新类-python
2.2!),只要您想使用self属性,如果您从object进行子类化,您将获得更多收益。Python的文档…新样式类。从历史上看,Python保留了旧的方式以Foo()
实现向后兼容。但是,这是很久以前的事了。没有太多理由不再从对象继承子类了。