如何在静态方法中获取类的名称,我有继承并想要派生类的名称
在下面的例子中,在方法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
Run Code Online (Sandbox Code Playgroud)
Sve*_*ach 47
我很确定这对静态方法来说是不可能的.改为使用类方法:
class Snake(object):
@classmethod
def my_name(cls):
print cls.__name__
Run Code Online (Sandbox Code Playgroud)
Len*_*bro 11
Python中的静态方法仅用于所有意图和目的.它对课程一无所知,所以你不应该这样做.这可能是可能的,大多数事情往往都是.但这是错的.:)
在这种情况下,你显然不关心的类,所以你不想要一个静态方法来实现.所以使用类方法.
| 归档时间: |
|
| 查看次数: |
12269 次 |
| 最近记录: |