class Foo():
class Bar(Foo):
Foo的方法必须知道子类的名称。我怎么能得到这个名字?
在这个例子中我想得到“Bar”。
对不起我的英语。
答案 0 :(得分:3)
如果它需要是一个实例方法:
def meth(self): print self.__class__
如果你想要一个classmethod:
@classmethod
def meth(cls): print cls
答案 1 :(得分:0)
非常古老,但由于我偶然发现了这个话题 duckduck'ing...
考虑你有:
class Foo():
pass
class Bar(Foo):
pass
my_bar = Bar()
type(my_bar).__name__
# Bar
my_bar = Bar()
my_bar.__class__.__name__
# Bar