当前位置 : 主页 > 编程语言 > python >

Python classmethod 修饰符

来源:互联网 收集:自由互联 发布时间:2022-06-15
classmethod 修饰的方法是类方法,不需要实例化便可以调用,直接类名.方法名()来调用。 相对应的是实例方法,需要实例化后才可以调用的方法。 class A(object): # 属性默认为类属性(可以

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() # 直接调用




上一篇:python 递归
下一篇:没有了
网友评论