类的特殊方法 init |学习笔记

简介: 快速学习 类的特殊方法 init

开发者学堂课程【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,..):

相关文章
|
1月前
|
Python
深入解析 Python 中的对象创建与初始化:__new__ 与 __init__ 方法
深入解析 Python 中的对象创建与初始化:__new__ 与 __init__ 方法
19 1
|
1月前
学习使用register定义变量的方法
学习使用register定义变量的方法。
34 4
|
3月前
|
测试技术 Python
Python 类中__init__方法的作用
【8月更文挑战第24天】
84 0
|
6月前
|
Java 数据库连接 Spring
@Bean(name = "", initMethod = "init", destroyMethod = "close")的概念与使用
【4月更文挑战第26天】在 Spring Framework 中,@Bean 注解是用来声明一个 bean,它可以在配置类中的方法上使用,从而允许显式地定义 bean 的配置。通过 @Bean 注解,可以非常灵活地配置 Spring 容器中的 bean 行为,包括其名称、初始化方法和销毁方法
959 2
|
6月前
|
Python
魔法方法__init__
魔法方法__init__
|
6月前
如果我想在`__init__`方法中添加一些初始化逻辑,应该如何实现?
如果我想在`__init__`方法中添加一些初始化逻辑,应该如何实现?
42 0
|
C++ Python
python类中初始化形式:def __init__(self)和def __init__(self, 参数1,参数2,,,参数n)区别
python类中初始化形式:def __init__(self)和def __init__(self, 参数1,参数2,,,参数n)区别
171 0
|
Python
python调用父类方法的三种方式(super调用和父类名调用)
python调用父类方法的三种方式(super调用和父类名调用)
237 0
|
设计模式 Java Python
简述Python类中的 __init__、__new__、__call__ 方法
简述Python类中的 __init__、__new__、__call__ 方法
104 0
|
Java 开发者
Class 类对象的三种实例化模式|学习笔记
快速学习 Class 类对象的三种实例化模式
174 0
Class 类对象的三种实例化模式|学习笔记