Python(二十二)——类方法和静态方法

Python(二十二)——类方法和静态方法

一、类方法
类方法从属于“类对象”的方法,类方法通过装饰器@classmethod定义,格式如下:
@classmethod
def 类方法名称(cls,[, 形参列表]):
函数体

class Person():
    name = '张三'#类属性
    @classmethod
    def get_name(cls):
        print(cls.name)
        # print(self.name ) #错误
if __name__=='__main__':
    
    a = Person()
    a.get_name()

二、静态方法
Python中允许定义与“类对象”无关的方法,称为“静态方法”。
1>不操作类的属性。
2>函数体如下:
@staticmethod
def 静态方法名称([参数列表]):
函数体

class Person():
    name = '李四'#类属性
    @staticmethod
    def add(a,b): #静态方法
        print(Person.name) #操作类属性
        print('a+b={0}'.format(a+b))


if __name__=='__main__':

    a = Person()
    a.add(1,1)
	#李四
	#a+b=2

三、注意
类方法中访问实例对象或者实例方法都会报错,因为类存在了,实例未必存在。

猜你喜欢

转载自blog.csdn.net/zxq6661/article/details/113531834