类方法就是针对类对象定义的方法
在类方法内部可以直接访问类属性或者电泳其他的类方法
类方法需要用修饰器@classmethod 来标识,告诉解释器这是一个类方法
类方法的第一个参数应该是cls
由哪一个类调用的方法,方法内的cls就是哪一个类的引用
这个参数和实例方法的第一个参数是self类似
cls是class的缩写 不应当使用这个名字,但习惯使用cls 方便阅读
通过类名,调用类方法,调用方法时,不需要传递cls参数
在方法内部
1.可以通过cls.访问类的属性
2.也可以通过cls.调用其他的类方法
# 语法如下
@classmethod
def 类方法名(cls):
pass
实例
class Tool(object):
count = 0
def __init__(self,name):
self.name = name
Tool.count += 1
@classmethod
def getToolCount(cls):
return Tool.count
tool1 = Tool('斧头')
tool2 = Tool('榔头')
tool3 = Tool('铁锹')
print(Tool.getToolCount())