43.类方法

  1. 类方法

类方法

  • 类属性就是针对类对象定义的属性
    • 使用赋值语句在 class 关键字下方可以定义类属性
    • 类属性用于记录与这个类相关的特征
  • 类方法就是针对类对象定义的方法
    • 在类方法内部可以直接访问类属性或者调用其他的类方法

语法如下

1
2
3
@classmethod
def 类方法名(cls):
pass
  • 类方法需要用修饰器@classmethod来标识,告诉解释器这是一个类方法
  • 类方法的第一个参数应该是 cls
    • 由哪一个类调用的方法,方法内的 cls 就是哪一个类的引用
    • 这个参数和实例方法的第一个参数 self 类似
    • 提示 使用其他名称也可以,不过习惯使用cls
  • 通过 类名. 调用类方法,调用方法时,不需要传递cls 参数
  • 在方法内部
    • 也可以通过 cls. 访问类的属性
    • 也可以通过 cls. 调用其他的类方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Tool(object):
# 使用赋值语句定义类属性,记录所有工具对象的数量
count = 0

@classmethod
def show_tool_count(cls):
# 在类方法内部,可以直接使用cls访问雷属性或者调用类方法
print("工具对象的数量%d" % cls.count)

def __init__(self, name):
self.name = name
# 让类属性的值加一
Tool.count += 1


tool1 = Tool("aa")
tool2 = Tool("bb")
tool3 = Tool("cc")
Tool.show_tool_count()

转载请注明来源,欢迎指出任何有错误或不够清晰的表达。可以邮件至gxnucgb@qq.com

文章标题:43.类方法

文章字数:352

本文作者:陈桂彬

发布时间:2019-08-06, 11:50:36

最后更新:2019-08-06, 12:08:50

原始链接:https://github.com/gxnucgb/gxnucgb.github.io/2019/08/06/43-类方法/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏

github