本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python函数使用技巧总结》,《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
Python类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析