类是创建实例的模板,而实例则是一个一个具体的对象,各个实例拥有的数据都互相独立,互不影响。
- 实例方法是一个普通的函数,类方法和静态方法都是通过函数装饰器的方式实现的;
- 实例方法需要传入self,类方法需要传入cls参数,静态方法无需传入self参数或者是cls参数(但不等同于不能传入参数)
_xxx
: "单下划线" 开始的成员变量叫做保护变量 ,意思是只有类实例和子类实例能访问到这些变量,需通过类提供的接口进行访问;不能用from module import *
导入
__xxx
: 类中的私有变量/方法名 (Python的函数也是对象,所以成员方法称为成员变量也行得通。), " 双下划线 " 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。
用 @staticmethod 装饰器声明,不需要任何 self 或 cls 参数。静 态函数通过类调用也可以,通过实例调用也可以。
dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。
__name__
首先对于用双下划线开头且结尾的变量,在 Python 中被称为内置变量 ,除了 __name__
,我们常见的还有 __init__
,__dict__
等等.
name 是属于 python 中的内置类属性,就是它会天生就存在于一个 python 程序中,代表对应程序名称。