Python对象与引用的介绍
作者:Devin01213 时间:2023-04-30 12:51:59
对象
Python 中,一切皆对象。每个对象由:标识(identity)、类型(type)、value(值)组成。
1. 标识用于唯一标识对象,通常对应于对象在计算机内存地址。使用内置函数 id(obj)可返回对象 obj 的标识。
2. 类型用于表示对象存储的“数据”的类型。类型可以限制对象的取值范围以及可执行的操作。可以使用 type(obj)获得对象的所属类型。
3. 值表示对象所存储的数据的信息。使用 print(obj)可以直接打印出值。
对象的本质:一个内存块,拥有特定的值,支持特定类型的相关操作。
引用
在 Python 中,变量也称为对象的引用。因为变量存储的就是对象的地址。变量通过地址引用了“对象”。
变量位于栈内存(压栈出栈等)。
对象位于堆内存。
Python 是动态类型语言,变量不需要显式声明类型。根据变量引用的对象,Python 解释器自动确定数据类型。
Python 是强类型语言,每个对象都有数据类型,只支持该类型支持的操作。
变量在使用前必须先进行初始化,也就是将变量绑定在一个对象上,格式如:变量名 = 表达式。执行过程中,解释器先运行右边的表达式,在堆内存中创建一个对象,然后将对象的内存地址赋给左边的变量,如上图所示。变量如果不初始化,会报“name is not defined”错误。
关于变量的赋值,常用链式赋值和系列解包赋值方式。链式赋值用于同一个对象赋值给多个变量。如x=y=123 相当于:x=123; y=123。系列数据赋值给对应相同个数的变量(个数必须保持一致),如a,b,c=4,5,6 相当于:a=4;b=5;c=6。
python中,删除一个变量的方法是del。变量从栈内存中删除后,其绑定的对象并没有从堆内存中立刻删除,对象没有了变量引用,会被垃圾回收器回收,释放内存,以节约内存空间。
来源:https://blog.csdn.net/ym01213/article/details/86568573
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python 打印自己设计的字体的实例讲解
go swagger生成接口文档使用教程
![](https://img.aspxhome.com/file/2023/7/100797_0s.png)
Python牛刀小试密码爆破
sql脚本查询数据库表,数据,结构,约束等操作的方法
用python打包exe应用程序及PyInstaller安装方式
![](https://img.aspxhome.com/file/2023/8/133878_0s.png)
javascript 45种缓动效果(一)
浅谈如何使用Python控制手机(二)
golang 检查网络状态是否正常的方法
MySQL性能分析及explain的使用说明
如何基于matlab相机标定导出xml文件
![](https://img.aspxhome.com/file/2023/8/133748_0s.jpg)
python实现写数字文件名的递增保存文件方法
python Socket之客户端和服务端握手详解
![](https://img.aspxhome.com/file/2023/0/85090_0s.jpg)
JavaScript prototype属性深入介绍
SQL Select语句完整的执行顺序
网站改版常见问题答疑
基于Python 装饰器装饰类中的方法实例
![](https://img.aspxhome.com/file/2023/9/89429_0s.jpg)
JS生成一维码(条形码)功能示例
![](https://img.aspxhome.com/file/2023/2/135632_0s.png)
华为校园招聘上机笔试题 扑克牌大小(python)
整合ckeditor+ckfinder,解决上传文件路径问题
Flash在某些多标签浏览器中的“伪沙箱”问题
![](https://img.aspxhome.com/file/UploadPic/20111/6/javascript-selectors-31s.jpg)