对象的创建流程 | 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学习站

相关文章
|
1月前
|
API 数据安全/隐私保护 开发者
Python自定义异常:从入门到实践的轻松指南
在Python开发中,自定义异常能提升错误处理的精准度与代码可维护性。本文通过银行系统、电商库存等实例,详解如何创建和使用自定义异常,涵盖异常基础、进阶技巧、最佳实践与真实场景应用,助你写出更专业、易调试的代码。
72 0
|
1月前
|
IDE 开发工具 数据安全/隐私保护
Python循环嵌套:从入门到实战的完整指南
循环嵌套是Python中处理多维数据和复杂逻辑的重要工具。本文通过实例讲解嵌套循环的基本用法、常见组合、性能优化技巧及实战应用,帮助开发者掌握其核心思想,避免常见错误,并探索替代方案与进阶方向。
82 0
|
2月前
|
数据采集 数据可视化 搜索推荐
Python数据分析全流程指南:从数据采集到可视化呈现的实战解析
在数字化转型中,数据分析成为企业决策核心,而Python凭借其强大生态和简洁语法成为首选工具。本文通过实战案例详解数据分析全流程,涵盖数据采集、清洗、探索、建模、可视化及自动化部署,帮助读者掌握从数据到业务价值的完整技能链。
290 0
|
20天前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
252 1
|
21天前
|
安全 JavaScript Java
Python中None与NoneType的真相:从单例对象到类型系统的深度解析
本文通过10个真实场景,深入解析Python中表示“空值”的None与NoneType。从单例模式、函数返回值,到类型注解、性能优化,全面揭示None在语言设计与实际编程中的核心作用,帮助开发者正确高效地处理“无值”状态,写出更健壮、清晰的Python代码。
112 3
|
1月前
|
设计模式 算法 大数据
Python流程控制:让代码按你的节奏跳舞
Python流程控制是编程核心,通过if条件判断、for循环与while循环,控制代码执行顺序与逻辑分支。它帮助开发者实现智能决策、重复任务处理与交互式应用,是编写高效、清晰程序的关键。掌握这三大控制结构,将显著提升代码逻辑与程序性能。
55 0
|
1月前
|
Python
解决Python中AttributeError:'image'对象缺少属性'read_file'的问题策略。
通过上述策略综合考虑,您将能够定位问题并确定如何解决它。记住,Python社区很庞大,也很乐于帮助解决问题,因此不要害怕在求助时提供尽可能多的上下文和您已经尝试过的解决方案。
65 0
|
1月前
|
监控 Linux 数据安全/隐私保护
Python实现Word转PDF全攻略:从入门到实战
在数字化办公中,Python实现Word转PDF自动化,可大幅提升处理效率,解决格式兼容问题。本文详解五种主流方案,包括跨平台的docx2pdf、Windows原生的pywin32、服务器部署首选的LibreOffice命令行、企业级的Aspose.Words,以及轻量级的python-docx+pdfkit组合。每种方案均提供核心代码与适用场景,并涵盖中文字体处理、表格优化、批量进度监控等实用技巧,助力高效办公自动化。
279 0
|
2月前
|
数据采集 分布式计算 大数据
不会Python,还敢说搞大数据?一文带你入门大数据编程的“硬核”真相
不会Python,还敢说搞大数据?一文带你入门大数据编程的“硬核”真相
76 1

推荐镜像

更多