__init__构造方法和__new__方法

  • __init__构造方法
  • 实例属性和实例方法
  • 实例属性
  • 实例方法


__init__构造方法

一个Python对象包含三个部分:id(identity识别码)、type(对象类型)、value(对象的值)。
更进一步的说,一个Python对象包含如下部分:

1.id(identity识别码)
2.type(对象类型)
3.value(对象的值)
    (1)属性(attribute)
    (2)方法(method)

创建对象,我们需要定义构造函数__init__()方法。构造方法用于执行“实例对象的初始化工作”,即对象创建后,初始化当前对象的相关属性,无返回值。

init()的要点如下:
1.名称固定,必须为:init()
2.第一个参数固定,必须为:self。
self指的就是刚刚创建好的实例对象。
3.构造函数通常用来初始化实例对象的实例属性,如下代码就是初始化实例属性:name和score。

def__init__(self,name,score):
    self.name=name    #实例属性
    self.score=score

4.通过“类名(参数列表)”来调用构造函数。调用后,将创建好的对象返回给相应的变量。比如:s1=Student(‘张三’,80)
5.init()方法:初始化创建好的对象,初始化指的是:“给实例属性赋值”
6.new()方法:用于创建对象,但我们一般无需重定义该方法。
7.如果我们不定义__init__方法,系统会提供一个默认的__init__方法。如果我们定义了带参的__init__方法,系统不创建默认的__init__方法。

实例属性和实例方法

实例属性

实例属性是从属于实例对象的属性,也称为“实例变量”。他的使用有如下几个要点:
1.实例属性一般在__init__()方法中通过如下代码定义:
     self.实例属性名 = 初始值
2.在本类的其他实例方法中,也是通过self进行访问:
    self.实例属性名
3.创建实例对象后,通过实例对象访问:
     obj01 = 类名 #创建对象,调用__init__()初始化属性
     obj01.实例属性名 = 值 #可以给已有属性赋值,也可以新加属性

实例方法

实例方法是从属于实例对象的方法。实例方法的定义格式如下:
def 方法名(self[,形参列表]):
    函数体
方法的调用格式如下:
    对象.方法名([实参列表])

要点:
1.定义实例方法时,第一个参数必须为self。和前面一样,self指当前的实例对象。
2.调用实例方法时,不需要也不能给self传参。self由解释器自动传参。

函数和方法的区别
1.都是用来完成一个功能的语句块,本质一样。
2.方法调用时,通过对象来调用。方法从属于特定实例对象,普通函数没有这个特点。
3.直观上看,方法定义时需要传递self,函数不需要。

实例对象的方法调用本质:

python类构造方法重载 在python类中,构造方法的名称_初始化


其他操作:

1.dir(obj)可以获得对象的所有属性、方法
2.obj.__dict__ 对象的属性字典
3.pass空语句
4.isinstance(对象,类型) 判断“对象”是不是“指定类型”