一、类方法1)类属性:

含义:类属性就是针对类对象定义的属性。

定义类属性:使用赋值语句在class关键字下方可以定义类属性

作用:类属性用于记录这个类相关的特征


2)类方法:

含义:类方法就是针对类对象定义的方法。

使用:在类方法内部可以直接访问类属性 或者调用其他的类方法

语法:

@classmethod def 类方法名(cls): pass

2.1类方法需要用修饰器@classmethod来标识,告诉Python解释器这是一个类方法

2.2类方法的第一个参数应该是cls

2.3通过类名. 调用类方法,调用方法时,不需要传递cls参数

2.4在方法内部:


3)代码示例

需求:

python类的定义和使用(Python类方法和静态方法)(1)

代码:

class Tool(object): # 使用赋值语句定义类属性,记录所有工具对象的数量 # 初始数量是0 count = 0 @classmethod def show_tool_count(cls): # 显示工具对象的总数 print("工具对象总数 %d" % cls.count) def __init__(self, name): self.name = name # 每增加一个工具对象,让类属性的值加1 Tool.count = 1 # 创建工具对象 tool1 = Tool("扳手") # 调用类方法 Tool.show_tool_count()

执行结果:

python类的定义和使用(Python类方法和静态方法)(2)

二、静态方法2.1封装静态方法情况:

在开发时,如果需要在类中封装一个方法,这个方法既不需要访问实例属性或者调用实例方法,也不需要访问类属性或者调用类方法,这个时候,可以把这个方法封装成一个静态方法。

2.2 定义语法

@classmethod def 静态方法名(): pass

调用静态方法方式:不需要创建对象

类名.

代码:

class Dog(object): @staticmethod def run(): print("狗狗想跑一跑") # 通过类名.调用及静态方法->不需要创建对象 Dog.run()

执行结果:

python类的定义和使用(Python类方法和静态方法)(3)

更多相关python教程可以移步去Python自学网(http://www.wakey.com.cn/)从基础入门免费课程开始,逐步深入学习python全栈体系课程,适合新手入门到精通全栈开发。

,