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求素数示例分享
Feb 16 Python
在Python中使用列表生成式的教程
Apr 27 Python
教你用python3根据关键词爬取百度百科的内容
Aug 18 Python
numpy实现合并多维矩阵、list的扩展方法
May 08 Python
python 单线程和异步协程工作方式解析
Sep 28 Python
python利用dlib获取人脸的68个landmark
Nov 27 Python
Python实现密码薄文件读写操作
Dec 16 Python
Pyorch之numpy与torch之间相互转换方式
Dec 31 Python
Python图像处理库PIL中图像格式转换的实现
Feb 26 Python
基于python 等频分箱qcut问题的解决
Mar 03 Python
python 给图像添加透明度(alpha通道)
Apr 09 Python
Python如何实现邮件功能
May 27 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中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
2010/07/09 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
php+ajax导入大数据时产生的问题处理
2014/06/11 PHP
php实现的click captcha点击验证码类实例
2014/09/23 PHP
PHP中判断文件存在使用is_file还是file_exists?
2015/04/03 PHP
Laravel如何友好的修改.env配置文件详解
2017/06/07 PHP
Ubuntu彻底删除PHP7.0的方法
2018/07/27 PHP
PHP实现简易图形计算器
2020/08/28 PHP
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
2014/04/02 Javascript
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
2014/09/26 NodeJs
javascript常用函数归纳整理
2014/10/31 Javascript
JS中JSON对象和String之间的互转及处理技巧
2016/04/06 Javascript
微信小程序 欢迎界面开发的实例详解
2016/11/30 Javascript
javascript自执行函数
2017/02/10 Javascript
详解vue嵌套路由-params传递参数
2017/05/23 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
关于React动态加载路由处理的相关问题
2019/01/07 Javascript
Vue中的组件及路由使用实例代码详解
2019/05/22 Javascript
VUE的history模式下除了index外其他路由404报错解决办法
2019/08/21 Javascript
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
2019/11/01 Javascript
element 动态合并表格的步骤
2020/12/31 Javascript
简单谈谈python中的多进程
2016/11/06 Python
Python采集代理ip并判断是否可用和定时更新的方法
2018/05/07 Python
Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法
2020/04/18 Python
使用python爬取抖音视频列表信息
2019/07/15 Python
python支持多线程的爬虫实例
2019/12/21 Python
python使用turtle库绘制奥运五环
2020/02/24 Python
python环境下安装opencv库的方法
2020/03/05 Python
化学教学随笔感言
2014/02/19 职场文书
医院节能减排方案
2014/06/13 职场文书
美术学专业求职信
2014/07/23 职场文书
文员试用期转正自我鉴定
2014/09/14 职场文书
2015年社区党建工作汇报材料
2015/06/25 职场文书
工作简报范文
2015/07/21 职场文书