首页 > 编程语言 > 详细

Python classmethod 修饰符

时间:2020-07-12 14:29:46      阅读:62      评论:0      收藏:0      [点我收藏+]

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 classmethod 修饰符

原文:https://www.cnblogs.com/Uni-Hoang/p/13288286.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!