0
点赞
收藏
分享

微信扫一扫

Python classmethod 修饰符

classmethod 修饰的方法是类方法,不需要实例化便可以调用,直接类名.方法名()来调用。

相对应的是实例方法,需要实例化后才可以调用的方法。

class A(object):

# 属性默认为类属性(可以给直接被类本身调用)
num = "类属性"

# 实例化方法(必须实例化类之后才能被调用)
def func1(self): # self : 表示实例化类后的地址id
print("func1")
print(self)

# 类方法(不需要实例化类就可以被类本身调用)
@classmethod
def func2(cls): # cls : 表示没用被实例化的类本身
print("func2")
print(cls)
print(cls.num)
cls().func1()

# A.func1() 这样调用是会报错:因为func1()调用时需要默认传递实例化类后的地址id参数,如果不实例化类是无法调用的
A.func2() # 直接调用




举报

相关推荐

0 条评论