Python对象与引用的介绍


Posted in Python onJanuary 24, 2019

对象

Python 中,一切皆对象。每个对象由:标识(identity)、类型(type)、value(值)组成。

  • 1. 标识用于唯一标识对象,通常对应于对象在计算机内存地址。使用内置函数 id(obj)可返回对象 obj 的标识。
  • 2. 类型用于表示对象存储的“数据”的类型。类型可以限制对象的取值范围以及可执行的操作。可以使用 type(obj)获得对象的所属类型。
  • 3. 值表示对象所存储的数据的信息。使用 print(obj)可以直接打印出值。

对象的本质:一个内存块,拥有特定的值,支持特定类型的相关操作。

引用

在 Python 中,变量也称为对象的引用。因为变量存储的就是对象的地址。变量通过地址引用了“对象”。

变量位于栈内存(压栈出栈等)。
对象位于堆内存。

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。变量从栈内存中删除后,其绑定的对象并没有从堆内存中立刻删除,对象没有了变量引用,会被垃圾回收器回收,释放内存,以节约内存空间。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
Python的lambda匿名函数的简单介绍
Apr 25 Python
Python中的rfind()方法使用详解
May 19 Python
python开发之for循环操作实例详解
Nov 12 Python
独特的python循环语句
Nov 20 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
Apr 27 Python
Python使用base64模块进行二进制数据编码详解
Jan 11 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
Mar 13 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
Jun 17 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
Feb 21 Python
Python Tkinter Entry和Text的添加与使用详解
Mar 04 Python
Python PIL库图片灰化处理
Apr 07 Python
Python基于pip实现离线打包过程详解
May 15 Python
selenium+python自动化测试之多窗口切换
Jan 23 #Python
python 去除二维数组/二维列表中的重复行方法
Jan 23 #Python
selenium+python自动化测试之鼠标和键盘事件
Jan 23 #Python
selenium+python自动化测试之页面元素定位
Jan 23 #Python
python 实现矩阵上下/左右翻转,转置的示例
Jan 23 #Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
Jan 23 #Python
对Python实现累加函数的方法详解
Jan 23 #Python
You might like
php simplexmlElement操作xml的命名空间实现代码
2011/01/04 PHP
fleaphp rolesNameField bug解决方法
2011/04/23 PHP
基于PHP创建Cookie数组的详解
2013/07/03 PHP
php压缩和解压缩字符串的方法
2015/03/14 PHP
jscript之Read an Excel Spreadsheet
2007/06/13 Javascript
浅析js中的浮点型运算问题
2014/01/06 Javascript
javaScript 页面自动加载事件详解
2014/02/10 Javascript
js 获取时间间隔实现代码
2014/05/12 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
2014/09/09 Javascript
JS实现让网页背景图片斜向移动的方法
2015/02/25 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
ES5和ES6中类的区别总结
2020/12/21 Javascript
python更新列表的方法
2015/07/28 Python
Python 列表(List) 的三种遍历方法实例 详解
2017/04/15 Python
Python解决抛小球问题 求小球下落经历的距离之和示例
2018/02/01 Python
详解tensorflow训练自己的数据集实现CNN图像分类
2018/02/07 Python
python使用xslt提取网页数据的方法
2018/02/23 Python
详解python函数的闭包问题(内部函数与外部函数详述)
2019/05/17 Python
OpenCV+face++实现实时人脸识别解锁功能
2019/08/28 Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
2020/12/10 Python
Html5页面内使用JSON动画的实现
2019/01/29 HTML / CSS
缅甸网上购物:Shop.com.mm
2017/12/05 全球购物
英国豪华文具和皮具配件经典老品牌:Smythson(斯迈森)
2018/04/19 全球购物
母亲节演讲稿范文
2014/01/02 职场文书
领导失职检讨书
2014/02/24 职场文书
岗位聘任书范文
2014/03/29 职场文书
倡导文明标语
2014/06/16 职场文书
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL
为什么RedisCluster设计成16384个槽
2021/09/25 Redis
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python
MSSQL基本语法操作
2022/04/11 SQL Server
Java完整实现记事本代码
2022/06/16 Java/Android