类的特殊方法 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,..):

相关文章
|
Java 分布式数据库 数据库
软件各种系统架构图
原文:软件各种系统架构图 https://blog.csdn.net/everythingss/article/details/78749247     该技术架构图是本人根据多年企业技术架构经验而制定,是企业技术的总架构图,希望对CTO们有所借鉴。
8511 0
|
11月前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
332 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
JavaScript 前端开发 索引
js遍历的方法与区别
js遍历的方法与区别
186 3
|
运维 Kubernetes 网络协议
Kubernetes详解(十六)——Pod容器探测
Kubernetes详解(十六)——Pod容器探测
115 0
|
传感器 存储 物联网
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点,广泛应用于嵌入式系统开发、通信协议实现及后端服务构建等领域,成为推动物联网技术进步的重要力量。
471 1
|
JavaScript 前端开发 索引
JavaScript中实现页面跳转的七种方法
JavaScript中实现页面跳转的七种方法
1249 0
|
PHP 数据安全/隐私保护
phpmailer/phpmailer 邮件发送,163SMTP设置
phpmailer/phpmailer 邮件发送,163SMTP设置
369 0
|
easyexcel Java API
【Alibaba工具型技术系列】「EasyExcel技术专题」实战技术针对于项目中常用的Excel操作指南
【Alibaba工具型技术系列】「EasyExcel技术专题」实战技术针对于项目中常用的Excel操作指南
1510 0
【Alibaba工具型技术系列】「EasyExcel技术专题」实战技术针对于项目中常用的Excel操作指南
|
IDE 开发工具 Python
【windows】下Anaconda详细安装过程
【windows】下Anaconda详细安装过程
520 0
【windows】下Anaconda详细安装过程