开发者学堂课程【Python 语言基础 3:函数、面向对象、异常处理:类的特殊方法 init】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/601/detail/8745
类的特殊方法 init
目录
一、类对象的初始化
二.创建对象的流程
三.类的基本结构
一.类对象的初始化
案例代码块:
class Person :
def say_hello(self):
print('大家好,我是%s‘%seIf. name)
p1 = Person()
# #手动向对象添加 name 属性
p1. name =‘孙悟空‘
p2 = Person( )
p2.name =‘猪八戒’
p3 = Person( )
p3.name=‘沙和尚'
p3.say_hello()
目前来讲,对于 Person 类来说 name 是必须的,并且每一 个对象中的 name 属性基本上都是不同,而我们现在是将 name 属性在定义为对象以后,手动添加到对象中,这种方式很容易出现错误,所以我们希望,在创建对象时,必须设置 name 属性,如果不设置对象将无法创建,并且属性的创建应该是自动完成的,而不是在创建对象以后手动完成。
因此我们在类中可以定义一些特殊方法(魔术方法),代码如下:
class Person:
def__init__(self):
print(‘init方法执行了~~’)
pass
def say_hello(self):
print(‘大家好,我是%s’%self.name)
p1=Person()
#p1.__init__()不要这么做
注意:
特殊方法都是以__开头, __结尾的方法
特殊方法不需要我们自己调用,不要尝试去调用特殊方法
特殊方法将会在特殊的时刻自动调用
学习特殊方法:
1. 特殊方法什么时候调用
2. 特殊方法有什么用
二.创建对象的流程
1.创建一个变量
2.在内存中创建一个新对象
3. 执行类的代码块中的代码(只在类定义的时候执行一次 )
4.__init__ (self) 方法执行
5.将对象的 i d 赋值给变量
init 会在对象创建以后离开执行
init 可以用来向新创建的对象中初始化属性
三.类的基本结构
class 类名([父类]);
公共的属性…
# 对象的初始化方法
def __init__(self,…);
…
def method_1(self,…);
…
def method_2(self,..):