1.类属性
- 定义:给类对象定义的属性
- 作用:通常用来记录与这个类相关的特征
- 类属性不会应用于记录具体对象的特征
- 定义方法,在class 关键字下面定义
以下面一个例子为例
class A:
count = 10
def __init__(self,name):
self.name = name
A.count += 1
a1 = A("里狗")
print(A.count)
a2 = A("ninikn")
print(A.count)
输出
11
12
尽量不要以下方式访问变量,因为该方式可理解为为对象创建属性,容易覆盖类属性
print(a1.count)
a1.count = 90
print(A.count)
print(a1.count)
输出
2
90
2.类方法
- 类方法就是针对类属性定义的方法,在类方法内部可以直接访问类属性或者调用其他的类方法
- 定义方法
@classmethod
def 类方法名(cls):
pass
- 调用方法
- 优点:用类方法访问类属性可以避免用对象直接访问类属性引起的错误。
class A:
count = 10
def __init__(self,name):
self.name = name
A.count += 1
def hello(self):
print("你好")
@classmethod
def show_tool_count(cls):
print("工具对象 %d" %cls.count)
a1 = A("里狗")
a1.show_tool_count()
输出
工具对象 11
3.静态方法
class Dog():
@staticmethod
def run():
print("小狗要跑")
if __name__ == '__main__':
Dog.run()
小狗要跑
|