前言
类方法/属性,静态方法,__init__(self)方法的使用场景以及含义。
一、类属性和实例属性
实例属性:self.属性名 = 值
定义实例属性:方法内部(第一个参数为self的方法)。
要求:实例的所有属性,都要在__init__方法中定义。
因为__init__是创建对象时,自动调用的。一旦创建对象,对象就拥有属性了。
修改实例属性的值:
在实例方法当中,通过self.实例属性 = 值 去修改。
类属性:类名下面,属性名 = 值 (所有对象都是一样的。不会因对象不同而改变)
二、关于__init__方法:
1、什么时候需要在类当中实现__init__方法
1)有初始化工作、准备工作
2)类中其它的方法都要访问的公共变量,则设置为实例属性。
没有return
2、什么时候需要设置实例属性?
多个实例方法都需要访问同一变量/属性时,则在初始化当中设置为实例属性。
实例方法(属性):第一参数为self的方法。
调用:只有对象可以调用。
三、类方法/类属性 和 静态方法
类方法(属性):方法名上有@classmethod;方法参数第一个为cls
调用:类名就可以调用。实例也是可以调用的。
静态方法: 方法名上有@staticmethod; 没有任何固定的参数。
普通的函数,搬到类里面。跟self和cls都没有啥关系。
调用:类名就可以调用。实例也是可以调用的。
注意:
1、类属性:直接在类定义中,属性名 = 值
2、类方法: @classmethod 参数为cls。
类方法可访问类属性,不能访问实例属性。
不是实例的特性,所有实例的共同特征。
实例/类均可访问。
补充:
使用 类方法修改类属性
总结
暂无