1、类和对象
对象是类的实例,类主要定义对象的结构,然后我们以类为模板创建对象。
类不但包含方法定义,而且还包含所有实例共享的数据。
类的特性:
继承:子类自动共享父类之间数据和方法的机制。
多态:不同对象对同一方法响应不同的行动。
Python 的 self 相当于 C++ 的 this 指针。类的方法与普通的函数只有一个特别的区别 —— 它们必须有一个额外的第一个参数名称(对应于该实例,即该对象本身),按照惯例它的名称是 self。在调用方法时,我们无需明确提供与参数 self 相对应的参数。
公有和私有:
在 Python 中定义私有变量只需要在变量名或函数名前加上“__”两个下划线,那么这个函数或变量就会为私有的了。
2、python的魔法方法
魔法方法总是被双下划线包围,例如__init__。
魔法方法的“魔力”体现在它们总能够在适当的时候被自动调用。
魔法方法的第一个参数应为cls(类方法) 或者self(实例方法)。
cls:代表一个类的名称
self:代表一个实例对象的名称