含义 | |
---|---|
classmethod | 类方法 |
staticmethod |
定义:
网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了裕民免费建站欢迎大家使用!
第一个参数为self,代表 实例本身
调用:
要有实例化的过程,通过 实例对象.方法名 调用
# 1. 类的定义 class MethodClass: class_param= 0 # 类变量 def __init__(self): # 实列变量 self.a = 'abc' def demo_method(self): print('这是一个普通方法') def demo_method2(self): self.demo_method() self.a= 'acb' print('这是一个普通方法') # 定义类方法必须加 classmethod装饰器 @classmethod def class_method(cls): # 类方法,第一个参数需要改为cls # cls.demo_method() 类方法内,不可以直接调用实列方法 # cls.a 类方法内,不可以直接调用实列变量 cls.class_method2() # 类方法内,可以直接调用类变量与类方法 print('这是一个类方法', cls.class_param) # 类变量是可以直接调用的 @classmethod def class_method2(cls): # 类方法,第一个参数需要改为cls print('这是一个类方法2', cls.class_param) # 调用类方法 MethodClass.class_method() # 无需实例化,直接通过 类.方法名 调用,也可以通过 实例.方法名 调用 # 实例化调用 demo = MethodClass() demo.demo_method()# 在调用过程中,类和实列都可以直接调用类方法 # 调用普通方法,需要实例化,要不然会报错 # MethodClass.demo_method()