对象的创建流程 | Python从入门到精通:高阶篇之二十一

简介: 本节我们需要了解类也是对象,并说明对象的创建流程。简化分为三步,首先创建一个变量,然后在内存中创建一个新对象,之后将对象的id赋值给变量。

类的简介 | Python从入门到精通:高阶篇之二十

对象的创建流程

我们上一节对类有一个简单的了解,现在我们再次进行一个简单的说明。
类也是一个对象!
类就是一个用来创建对象的对象!类就类似于一份图纸,我们根据设计图纸去进行对象的创建。而图纸也需要去创建,所以类也需要去创建。
而对象创建就需要有id、type、value。类的value是空值,那么它的id、type是什么呢?

print(id(MyClass) , type(MyClass))

执行结果:

image.png

类是type类型的对象,定义类实际上就是定义了一个type类型的对象。
我们就依照上面的例子通过图来解析一下这个过程(使用类来创建对象流程)。

图1.png

class MyClass():
    pass

此时MyClass相当于一个变量,也是类名。类是对象,创建对象开辟内存空间(id、type、value)。

mc = MyClass()

1、创建一个变量mc
2、在内存中创建一个新对象
3、将对象的id赋值给变量
此时在内存中新开辟一个空间,用来存放新对象(id、type、value)。type应该是所创建的类的type,没有指定的value。

现在我们通过MyClass这个类创建的对象都是一个空对象,也就是对象中实际上什么都没有,就相当于是一个空的盒子,可以向对象中添加变量,对象中的变量称为属性。

语法:对象.属性名 = 属性值
mc.name = '孙悟空'

print(mc.name)

执行结果:

image.png

若直接替换代码为:

print(mc_2.name)

则程序会报错。
执行结果:

image.png

因为我们只给变量mc添加的属性,而mc_2中并未有。
我们依然在图中创建对象进行跟之前一样的创建对象的流程。我们给mc_2一个value则需要这样添加代码:

mc_2.name = '猪八戒'

print(mc_2.name)

执行结果:

image.png

同理,mc_3的value也不存在,需要我们去添加。

本节我们需要了解类也是对象,并说明对象的创建流程。所有对象创建流程都是一样的。

配套视频课程,点击这里查看

获取更多资源请订阅Python学习站

相关文章
|
2天前
|
Python
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
Python从入门到精通:深入学习面向对象编程——2.1.2继承、封装和多态的概念
|
2天前
|
存储 索引 Python
Python从入门到精通——1.3.1练习编写简单程序
Python从入门到精通——1.3.1练习编写简单程序
|
2天前
|
开发框架 前端开发 数据库
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
|
2天前
|
数据采集 数据可视化 数据处理
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
|
2天前
|
Java 数据库连接 数据处理
Python从入门到精通:3.1.2多线程与多进程编程
Python从入门到精通:3.1.2多线程与多进程编程
|
2天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
8天前
|
机器学习/深度学习 数据可视化 数据挖掘
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
19 1
|
8天前
|
人工智能 数据挖掘 程序员
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
35 0
|
8天前
|
程序员 索引 Python
Python 流程控制
Python 流程控制
20 0
|
9天前
|
机器学习/深度学习 数据采集 算法
scikit-learn入门指南:从基础到实践
【4月更文挑战第17天】这篇指南介绍了scikit-learn,一个Python数据分析和机器学习的重要库。内容涵盖安装、数据加载与预处理、模型训练(如KNN分类器)、评估、调参优化及高级应用,如降维和聚类。通过实例展示了scikit-learn在分类任务中的使用,强调其在数据科学中的重要性。要深入了解,可参考官方文档和实践案例。