python 构造函数__init__() 和 实例属性、实例方法
一、创建对象,我们需要定义构造函数__init__()方法。构造方法用于执行"实例对象的初始化工作",即对象创建后,初始化当前对象的属性,无返回值。
__init__()要点如下:
1.名称固定,必须为__init__()
2.第一个参数固定,必须为self。self指的就是刚刚创建好的实例对象。
3.构造函数通常用来初始化示例属性,如下代码就是初始化实例属性:
4.通过类名(参数列表),来调用构造函数,调用后,将创建好的对象返回给相应的变量。
5.__init__()方法:初始化创建好的对象,初始化指的是:"给实例属性赋值"
6.__new__()方法:用于创建对象,但我们一般无需定义该方法。
示例属性:
实例属性是从属于实例对象的属性,也称为"实例变量"。他的使用有如下要点:
1.实例属性一般在__init__()方法中如下代码定义:
self.实例属性名 = 初始值
2.在本类的其它示例方法中,也是通过self进行访问:
self.实例属性名
3.创建实例对象后,通过实例对象访问:
obj01 = 类名() #创建对象,调用__init__()初始化属性
obj01.实例属性名 = 值 #可以给已有属性赋值,也可以新加属性
实例方法:
实例方法是从属于实例对象的方法。实例方法的定义格式如下:
def 方法名(self,[,形参列表]):
函数体
方法的调用格式如下:
对象.方法名([实参列表])
要点:
1.定义示例方法时,第一个参数必须为self。和前面一样,self指当前的实例对象。
2.调用实例方法时,不需要也不能给self传参。self由解释器自动传参。
函数和方法的区别:
1.都是用来完成一个功能的语句块,本质一样
2. 方法调用时,通过对象来调用。方法从属于特定实例对象,普通函数没有这个特点。
3. 直观是看,方法定义时需要传递self,函数不需要
实例对象的方法调用本质:
s.write_code() == Student.write_code()
其他操作:
1.dir(obj)可以获得对象的所有属性、方法
2.obj.__dict__ 对象的属性字典
3.pass 语句
4.isinstance(对象、类型) 判断"对象" 是不是 "指定类型"