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
三、注意
类方法中访问实例对象或者实例方法都会报错,因为类存在了,实例未必存在。