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的单元测试
Apr 28 Python
在Python的Django框架中用流响应生成CSV文件的教程
May 02 Python
Python中threading模块join函数用法实例分析
Jun 04 Python
一个基于flask的web应用诞生(1)
Apr 11 Python
使用XML库的方式,实现RPC通信的方法(推荐)
Jun 14 Python
Python实现的三层BP神经网络算法示例
Feb 07 Python
对Python 检查文件名是否规范的实例详解
Jun 10 Python
对PyQt5的输入对话框使用(QInputDialog)详解
Jun 25 Python
关于ResNeXt网络的pytorch实现
Jan 14 Python
为什么说python适合写爬虫
Jun 11 Python
8种常用的Python工具
Aug 05 Python
python pandas 解析(读取、写入)CSV 文件的操作方法
Dec 24 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实现面包屑导航例子分享
2015/12/19 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
PHP PDOStatement::columnCount讲解
2019/01/30 PHP
JSChart轻量级图形报表工具(内置函数中文参考)
2010/10/11 Javascript
jquery.messager.js插件导致页面抖动的解决方法
2013/07/14 Javascript
YUI模块开发原理详解
2013/11/18 Javascript
js实现页面跳转重定向的几种方式
2014/05/29 Javascript
跟我学Node.js(四)---Node.js的模块载入方式与机制
2014/06/04 Javascript
创建、调用JavaScript对象的方法集锦
2014/12/24 Javascript
JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
2015/05/25 Javascript
浅析AngularJS Filter用法
2015/12/28 Javascript
AngularJS自定义插件实现网站用户引导功能示例
2016/11/07 Javascript
利用transition实现文字上下抖动的效果
2017/01/21 Javascript
vue.js源代码core scedule.js学习笔记
2017/07/03 Javascript
实时监控input框,实现输入框与下拉框联动的实例
2018/01/23 Javascript
JavaScript实现的拼图算法分析
2019/02/13 Javascript
[04:46]2018年度玩家喜爱的电竞媒体-完美盛典
2018/12/16 DOTA
通过python下载FTP上的文件夹的实现代码
2013/02/10 Python
Python 功能和特点(新手必学)
2015/12/30 Python
Python优化技巧之利用ctypes提高执行速度
2016/09/11 Python
Python方法的延迟加载的示例代码
2017/12/18 Python
python实现mysql的读写分离及负载均衡
2018/02/04 Python
利用Python进行数据可视化常见的9种方法!超实用!
2018/07/11 Python
Python配置虚拟环境图文步骤
2019/05/20 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
2021/01/27 Python
使用SVG实现提示框功能的示例代码
2020/06/05 HTML / CSS
英国Office鞋店德国网站:在线购买鞋子、靴子和运动鞋
2018/12/19 全球购物
Europcar比利时:租车
2019/08/26 全球购物
法学毕业生自荐信
2013/11/13 职场文书
实习指导老师评语
2014/04/26 职场文书
演讲稿祖国在我心中
2014/05/04 职场文书
房屋买卖协议样本
2014/11/16 职场文书
2015年中秋节主持词
2015/07/30 职场文书
外出听课学习心得体会
2016/01/15 职场文书
世界十大评分最高的动漫,CLANNAD上榜,第八赚足人们眼泪
2022/03/18 日漫