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()
来源:https://www.cnblogs.com/jiuyou-emperor/p/15812327.html
图文来源于网络,如有侵权请联系删除。