Python类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析

  

本文实例讲述了Python类方法和实例方法(@classmethod),静态方法(@staticmethod)。分享给大家供大家参考,具体如下:

  

<强> demo.py(类方法,@classmethod):

        类工具(对象):   #使用赋值语句定义类属性,记录所有实例化工具对象的数量   数=0   # @classmethod定义类方法。第一个参数是cls (cls用于访问类属性和类方法,不能访问实例属性/方法)   @classmethod   def show_tool_count (cls):   #不能访问实例属性   打印(“工具对象的数量% d % cls.count) # cls。类属性名访问类属性(类方法中)   def __init__(自我、名称):   self.name=名字#实例属性   #类名。类属性名访问类属性(实例方法中)   工具。数+=1   #实例化工具对象   tool1=工具(“斧头”)# tool1。__class__进行属性指向类对象。tool1.__class__.count实例对象访问类属性   tool2=工具(“榔头”)   #类名。类方法调用类方法   Tool.show_tool_count ()      之前      

运行结果:

  
  

工具对象的数量2

     

<强> demo.py(静态方法,@staticmethod):

        狗类(对象):   # @staticmethod定义静态方法;静态方法内部不能访问类属性/方法和实例属性/方法。不需要传默认参数。   Python中#的静态方法与在类外部定义的普通函数作用相同,只是表明该函数仅供该类使用。   @staticmethod   def run ():   #不能访问实例属性/类属性   打印(“小狗要跑……”)   #类名。静态方法名调用静态方法,不需要创建对象(也可以通过实例对象调用)   Dog.run ()      之前      

运行结果:

  
  

小狗要跑…

     

 Python类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析

  <人力资源/>   

 Python类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析

  <人力资源/>   

 Python类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析

  

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python函数使用技巧总结》,《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》

  

希望本文所述对大家Python程序设计有所帮助。

Python类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析