python

类的方法分为:普通方法、 静态方法和类方法

 调用方式特征
普通方法 由对象去调用执行,属于类 至少一个self,对象调用
静态方法 属于类,但通过类来调用,不依赖于任何对象,方法内部不需要对象封装的值时,可使用静态方法 任意参数,没有self,上面添加@staticmethod,类似装饰器的东东
类方法 静态方法的一种特殊形式,由类调用 至少一个cls参数,上面添加classmethod

一、普通方法:

由对象去调用执行(方法属于类)

1.创建方法

class Province:
    country = "中国"

    def __init__(self,name):
        self.name = name

    def show(self):   #普通方法,由对象去调用执行(方法属于类)
        print(self.name)

2.访问普通方法:

普通方法的访问需要使用对象 才能访问

obj = Province("河北")
obj.show()

Out:

河北

二、静态方法:

1.创建静态方法

添加@staticmethod  并且 def f1(): 括号里面没有self   ,这样就创建了静态方法

class Province:
    country = "中国"

    def __init__(self,name):
        self.name = name

    @staticmethod
    def f1(arg1,arg2):
        #静态方法,由类调用执行
        print(arg1,arg2)

 2.访问静态方法:

静态方法的访问直接使用类就可以访问,不需要使用对象

#访问静态方法
Province.f1(11,22)

out:

11 22

三、类方法

类方法:

1.创建类方法:

添加@classmethod  后创建的就是类方法,cls 就是类的名称

class Province:
    country = "中国"

    def __init__(self,name):
        self.name = name

    
    @classmethod
    def f2(cls):    #cls 是类名
        print(cls)

2.方法类方法:

直接使用类名和方法名称即可

Province.f2()

out:

<class '__main__.Province'>

原文地址:https://www.cnblogs.com/pangguoping/p/5617542.html