我怎样才能得到儿童班的名字?

时间:2011-07-22 11:19:11

标签: python

class Foo():

class Bar(Foo):

Foo的方法必须知道子类的名称。我怎么能得到这个名字?

在这个例子中我想得到“Bar”。

对不起我的英语。

2 个答案:

答案 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

Python 3

my_bar = Bar()
type(my_bar).__name__
# Bar

Python 2

my_bar = Bar()
my_bar.__class__.__name__
# Bar