zoukankan      html  css  js  c++  java
  • 第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的世界。
    欢迎大家批评指正,谢谢大家关注!

  • 相关阅读:
    linux-centos7 安装 maven 代码管理工具,以及常见配置
    linux-centos7 安装 jre + tomcat 实现 web 服务器
    python 开发语言 博客目录
    生存分布函数
    债务偿还
    密度聚类算法
    POI兴趣点搜索
    区域地址搜索
    地址之间的距离
    地理坐标转换
  • 原文地址:https://www.cnblogs.com/LaoYuanPython/p/11087698.html
Copyright © 2011-2022 走看看