对象的创建流程 | 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天前
|
网络协议 网络架构 Python
Python 网络编程基础:套接字(Sockets)入门与实践
【5月更文挑战第18天】Python网络编程中的套接字是程序间通信的基础,分为TCP和UDP。TCP套接字涉及创建服务器套接字、绑定地址和端口、监听、接受连接及数据交换。UDP套接字则无连接状态。示例展示了TCP服务器和客户端如何使用套接字通信。注意选择唯一地址和端口,处理异常以确保健壮性。学习套接字可为构建网络应用打下基础。
18 7
|
2天前
|
Python
10个python入门小游戏,零基础打通关,就能掌握编程基础_python编写的入门简单小游戏
10个python入门小游戏,零基础打通关,就能掌握编程基础_python编写的入门简单小游戏
|
4天前
|
存储 Java 数据安全/隐私保护
Python----类对象和实例对象
Python----类对象和实例对象
9 2
|
4天前
|
数据采集 数据可视化 数据挖掘
利用Python和Pandas库优化数据分析流程
在当今数据驱动的时代,数据分析已成为企业和个人决策的重要依据。Python作为一种强大且易于上手的编程语言,配合Pandas这一功能丰富的数据处理库,极大地简化了数据分析的流程。本文将探讨如何利用Python和Pandas库进行高效的数据清洗、转换、聚合以及可视化,从而优化数据分析的流程,提高数据分析的效率和准确性。
|
4天前
|
存储 安全 Java
Python中的引用和赋值机制允许变量引用内存中的对象,并通过引用计数来管理对象的生命周期
【5月更文挑战第14天】Python中的变量是对象引用,不存储数据,而是在内存中创建对象。赋值操作创建新变量并使其指向已有对象。引用计数用于管理对象生命周期,引用数为0时对象被回收。理解这些机制对编写高效Python代码很重要。
18 6
|
4天前
|
Python 索引 C语言
Python3从零基础到入门(2)—— 运算符-3
Python3从零基础到入门(2)—— 运算符
|
4天前
|
Python
Python3从零基础到入门(2)—— 运算符-2
Python3从零基础到入门(2)—— 运算符
Python3从零基础到入门(2)—— 运算符-2
|
4天前
|
Python C语言 存储
Python3从零基础到入门(2)—— 运算符-1
Python3从零基础到入门(2)—— 运算符
Python3从零基础到入门(2)—— 运算符-1
|
4天前
|
存储 C语言 Python
|
4天前
|
Python Windows