classmethod

给你一囗甜甜゛ 提交于 2020-03-01 20:09:42
class A(object):
    # 属性默认为类属性(可以给直接被类本身调用)
    num = "类属性"

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

    @classmethod
    def func1(cls):  # self : 表示实例化类后的地址id
        cls.fun1="func1"

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

        print('1 直接调用:默认类属性')
        print(cls.num,'\n')

        print('2 实例化调用:self方法')
        cls().func0()
        print('\n')

        print('3 直接调用:公共方法下的公共变量')
        print(cls.func1,'\n')  #直接调用:类属性(定义类属性)
        
        print('4 打印当前方法')
        print("func2")
        print(cls)


A.func2()

 

运行结果:

 

参考文档地址:https://www.runoob.com/python/python-func-classmethod.html

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!