当前位置 博文首页 > m0_51723227的博客:07类方法
●类属性就是针对类对象定义的属性
class
关键字下方可以定义类属性●类方法就是针对类对象定义的方法
@classmethod
def 类方法名(cls):
pass
●类方法需要用修饰器@classmethod
来标识,告诉解释器这是一个类方法
●类方法的第一个参数应该是cls
cls
就是哪一个类的引用self
类似cls
可以用self.
的方式进行调用当前对象的属性和当前对象的方法
●通过类名.
调用类方法,调用方法时,不需要传递cls
参数
●在方法内部
cls.
访问类的属性cls.
调用其他的类方法在之前我们做过一个和类属性相关的案例,即
知道使用这个类时,创建了多少个工具对象
示例需求
● 定义一个工具类
● 每件工具都有自己的name
● 需求:知道使用这个类时候,创建了多少个工具对象?
class Tool(object):
count = 0
def __init__(self,name):
self.name = name
Tool.count += 1
a = Tool("a")
b = Tool("b")
c = Tool("c")
print(Tool.count)
以上进行查看有多少种方法时,是通过打印类属性来观测到的
那么,现在便可以通过类方法进行封装查看类属性:
定义一个工具类
每件工具都有自己的name
在类封装一个show _tool _count
的类方法,输出使用当前这个类,创建的对象个数
Tool | . |
---|---|
Tool. count name | |
__ init_ __(self, name) show _tool _count(cls): |
class Tool:
count = 0
def __init__(self,name):
self.name = name
Tool.count += 1
@classmethod
def show_tool_count(cls):
print("一共有%d个工具"%Tool.count)
tool1 = Tool("男友")
tool2 = Tool("nv")
tool3 = Tool("sdfb")
Tool.show_tool_count()
结果:
一共有3个工具
新人创作,若有问题,欢迎大佬们的斧正
cs