python_进阶_14


类方法

==在python中, 一切皆是对象, 包括类==

在类方法内部可以直接访问类属性或者调用其它的类方法

语法如下

@classmethod

def 类方法名(cls):

    pass

演练

class Tool(object):

    # 使用赋值语句定义类属性,记录所有工作对象的数量
    count = 0

    @classmethod
    def show_tool_count(cls):
        print("工具对象的数量是 %d" % cls.count)

    def __init__(self,name):
        self.name = name
        # 让类属性的值+1
        Tool.count += 1

# 创建工具对象
tool1 = Tool("斧头")
tool2 = Tool("榔头")
# 调用类方法
Tool.show_tool_count()

输出为

工具对象的数量是 2

文章作者: 张忠楠
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 张忠楠 !
评论
 上一篇
python_进阶_15 python_进阶_15
静态方法 class Dog(object): @staticmethod def run(): # 不访问实例属性或类属性 print("小狗要跑...") # 通过类名.调用静态
2020-04-28
下一篇 
python_进阶_13 python_进阶_13
多态 ==不同的子类对象调用相同的父类方法, 产生不同的执行结果== 以继承和重写父类方法为前提 class Dog(object): """object是所有类的基类""" def __init__(self,n
2020-04-28
  目录