[英]How to add classmethod to a python class?
我正在尝试为我的User类定义一个generate_username。 (django的用户)
库代码将使用它。
def generate_username(self, user_class):
""" Generate a new username for a user
"""
m = getattr(user_class, 'generate_username', None)
if m:
return m()
如何定义函数generate_username
并将其添加到User类?
我应该添加一个类方法吗?
添加类方法的方式与猴子实例化方法相同,但是必须将类方法装饰器应用于该classmethod
。
class Test(object):
pass
@classmethod
def classfunc(cls, attr):
print(cls, attr)
Test.cf = classfunc
用法:
>>> Test.cf(33)
<class '__main__.Test'> 33
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.