目录
文字解释
一、类:
1、变量
-
类变量
-
实例变量
2、方法:
-
实例方法
-
类方法
-
静态方法
3、构造函数(特殊的实例方法)
二、方法与变量的关系:
在绝大多数情况下,方法需要对变量做一系列的运算或者一些逻辑上的操作,最终去改变变量的一些状态
构造函数与实例方法的区别
三、构造函数与实例方法的区别
1、调用方式不一样
-
构造函数:类(参数)
-
实例方法:对象.实例方法(参数)
2、意义不一样
-
构造函数:初始化类的特征
-
实例方法:描述类的行为
四、访问实例变量与类变量
实例方法访问实例变量:self.
变量实例方法访问类变量:
-
self.__class__.变量
-
类.变量
五、公开和私有
变成私有的方法:变量或者方法前加双下划线: __ 【构造函数除外,因为后面也有双下划线 __init__ 】
Python的动态特性会导致给对象之前不存在的属性赋值时自动创建该属性。而当该属性名为__开头且不以__结尾(例如__score)时:
- 当此赋值操作发生在类的实例方法中时,实际保存在__dict__中的是:__类名__score。访问此属性,在类中可以直接通过 __score 或 _类名__score访问。在类外只能通过_类名__score访问。
- 当此赋值操作发生在类的外部时,实际保存在__dict__中的是:__score。如果之前定义过一个”私有属性“__score,由于实际上在__dict__中的key不一样,他们将是两个不同的属性。
六、继承
python中的继承:
写法
from 模块 import 父类
class 子类(父类):
pass
子类可以继承父类的一切
子类调用父类的构造函数:可以直接调用父类的构造函数,但必须传递self参数
def __init__(self,school,name,age):
self.school = school
Human.__init__(self,name,age)