如何在静态方法中获取类的名称,我有继承并想要派生类的名称
在下面的示例中,my_name()方法中的XXX应该有什么替代方法
class snake()
@staticmethod
def my_name():
print XXX.__name___
class python (snake)
pass
class cobra (snake)
pass
python.my_name()
# I want output to be python
cobra.my_name()
# I want output to be cobra
发布于 2011-01-14 22:17:30
我非常确定这对于静态方法来说是不可能的。请改用类方法:
class Snake(object):
@classmethod
def my_name(cls):
print cls.__name__
发布于 2011-01-14 22:26:57
Python中的静态方法实际上只是一个函数。它对类一无所知,所以你不应该这样做。这可能是可能的,大多数事情都是可能的。但这是错误的。:)
在这种情况下,您显然关心这个类,所以您不需要静态方法。所以使用一个类方法。
https://stackoverflow.com/questions/4691925
复制相似问题