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的web框架中编写创建日志的程序的教程
Apr 30 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
Oct 07 Python
python爬虫使用cookie登录详解
Dec 27 Python
Python实现翻转数组功能示例
Jan 12 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
Jul 23 Python
详解python中自定义超时异常的几种方法
Jul 29 Python
PyCharm2018 安装及破解方法实现步骤
Sep 09 Python
python使用socket 先读取长度,在读取报文内容示例
Sep 26 Python
Django框架教程之中间件MiddleWare浅析
Dec 29 Python
Python常用库大全及简要说明
Jan 17 Python
python爬虫如何解决图片验证码
Feb 14 Python
python实现对doc、txt、xls等文档的读写操作
Apr 02 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中空字符串介绍0、null、empty和false之间的关系
2012/09/25 PHP
关于使用coreseek并为其做分页的介绍
2013/06/21 PHP
浅析PHP开发规范
2018/02/05 PHP
php7函数,声明,返回值等新特性介绍
2018/05/25 PHP
在IE上直接编辑网页内容的js代码(IE地址栏js)
2009/04/27 Javascript
网页前台通过js非法字符过滤代码(骂人的话等等)
2010/05/26 Javascript
jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误
2013/01/11 Javascript
jQuery使用技巧简单汇总
2013/04/18 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
jquery遍历json对象集合详解
2016/05/18 Javascript
HTML中setCapture、releaseCapture 使用方法浅析
2016/09/25 Javascript
javaScript中定义类或对象的五种方式总结
2016/12/04 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
JS扩展String.prototype.format字符串拼接的功能
2018/03/09 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
javascript数组去重方法总结(推荐)
2019/03/20 Javascript
jQuery 淡入/淡出效果函数用法分析
2020/05/19 jQuery
[02:17]2016完美“圣”典风云人物:Sccc专访
2016/12/03 DOTA
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
推荐下python/ironpython:从入门到精通
2007/10/02 Python
python多进程共享变量
2016/04/06 Python
Python基于分水岭算法解决走迷宫游戏示例
2017/09/26 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
2017/11/21 Python
python实现文件的分割与合并
2019/08/29 Python
如何使用 Python 读取文件和照片的创建日期
2020/09/05 Python
html5使用canvas绘制一张图片
2014/12/15 HTML / CSS
美国台面电器和厨具品牌:KitchenAid
2019/04/12 全球购物
销售自荐信
2013/10/22 职场文书
药学专业大专生的自我评价
2013/12/12 职场文书
简历上的自我评价
2014/02/03 职场文书
网络技术专业求职信
2014/05/02 职场文书
2014年预算员工作总结
2014/12/05 职场文书
自愿离婚协议书范本
2015/01/26 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书