python-使类方法成为默认方法的元类?
作者:互联网
有没有一种方法可以编写一个元类,以使默认情况下基于该元类的类中定义的所有方法都是类方法(即不需要@classmethod装饰等)?
谢谢!
编辑:我对Python 2.7.3感兴趣.请原谅.
解决方法:
像这样(2.7)
def m(name, bases, dct):
for k, v in dct.items():
if type(v) is type(m):
dct[k] = classmethod(v)
return type(name, bases, dct)
class A:
__metaclass__ = m
def foo(self):
print self
A.foo() # <class '__main__.A'>
标签:metaclass,class-method,python 来源: https://codeday.me/bug/20191201/2080196.html