第7.16节 案例详解:Python中classmethod定义的类方法
第7.16节 案例详解:Python中classmethod定义的类方法
上节介绍了类方法定义的语法以及各种使用的场景,本节结合上节的知识具体举例说明相关内容。
一、 案例说明
本节定义的一个类ClsMethod,在类内定义了类方法clsmeth1、getobjcnt,演示内容包括:
1. 类方法的定义;
2. 在类方法clsmeth1中通过cls方式和类名两种方式调用类方法getobjcnt;
3. 在实例方法__init__中通过类名和“self.__class__.方法名” 调用类方法clsmeth1,其实还可以通过“self.方法名”调用类方法,例子没有演示;
4. 在类体外面通过“实例.方法名”、“实例.__class__.方法名”调用类方法。
二、 案例代码
相关代码如下:
class ClsMethod():
objcnt1 = 0
@classmethod
def clsmeth1(cls):
cls.objcnt1+=1
cnt1=cls.getobjcnt() #类方法中通过cls访问类方法
cnt2=ClsMethod.getobjcnt() #类方法中通过类名访问类方法
@classmethod
def getobjcnt(cls):
print("in getobjcnt(cls)")
return ClsMethod.objcnt1
def __init__(self):
ClsMethod.clsmeth1() #实例方法中通过类名.方法名访问类方法
self.__class__.clsmeth1()#实例方法中通过self.__class__.方法名访问类方法
ClsMethod.clsmeth1()
cm1=ClsMethod()
cm1.getobjcnt()
cm1.__class__.getobjcnt()
三、 案例执行截图
本节结合案例详细对上节介绍的类方法的定义和使用方法进行了演示,案例很简单,但结合案例容易理解上节相关知识。
老猿Python(https://blog.csdn.net/LaoYuanPython)系列文章用于逐步介绍老猿学习Python后总结的学习经验,这些经验有助于没有接触过Python的程序员可以很容易地进入Python的世界。
欢迎大家批评指正,谢谢大家关注!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 通过一个DEMO理解MCP(模型上下文协议)的生命周期
· MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题
· 记一次 .NET某固高运动卡测试 卡慢分析
· 微服务架构学习与思考:微服务拆分的原则
· 记一次 .NET某云HIS系统 CPU爆高分析
· 7 个最近很火的开源项目「GitHub 热点速览」
· DeepSeekV3:写代码很强了
· MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题
· Visual Studio 2022 v17.13新版发布:强化稳定性和安全,助力 .NET 开发提
· AI浏览器自动化实战