类函数、实例方法、模块函数

【类函数】
class ReturnJson(APIView):
@classmethod
def class_fun(cls,*args):
print(args[0])


from mytest.views import ReturnJson
>>ReturnJson.class_fun('类对象调用')
类对象调用
>>a=ReturnJson()
>>a.class_fun('实例对象调用')
实例对象调用

类函数(cls),既可以使用类(类对象)直接调用;也可以使用实例对象调用

【实例方法】
class ReturnJson(APIView):

def instance_fun(self,*args):
print(args[0])

实例函数(self),只能使用实例对象调用


【仅类函数】
from django.utils.decorators import classonlymethod
//只能类(类对象)调用,实例调用时会抛出异常
@classonlymethod
def test_fun(cls,*args):
print(args[0])

【模块函数】
这个没有cls和self参数,函数直接用模块调用即可

原文地址:https://www.cnblogs.com/changbaishan/p/8118648.html