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实现快速多线程ping的方法
Jul 15 Python
Python算法应用实战之栈详解
Feb 04 Python
python MySQLdb使用教程详解
Mar 20 Python
详解用Python实现自动化监控远程服务器
May 18 Python
用django-allauth实现第三方登录的示例代码
Jun 24 Python
python实现淘宝购物系统
Oct 25 Python
TensorFlow命名空间和TensorBoard图节点实例
Jan 23 Python
django-csrf使用和禁用方式
Mar 13 Python
python实现UDP协议下的文件传输
Mar 20 Python
Python学习笔记之装饰器
Aug 06 Python
python语言time库和datetime库基本使用详解
Dec 25 Python
python中redis包操作数据库的教程
Apr 19 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
PHPExcel读取Excel文件的实现代码
2011/12/06 PHP
基于php设计模式中工厂模式详细介绍
2013/05/15 PHP
async和DOM Script文件加载比较
2014/07/20 PHP
CentOS6.5 编译安装lnmp环境
2014/12/21 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
2019/10/16 PHP
BOOM vs RR BO5 第一场 2.14
2021/03/10 DOTA
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
2008/12/02 Javascript
javascript实现面向对象类的功能书写技巧
2010/03/07 Javascript
javascript 防止刷新,后退,关闭
2010/08/07 Javascript
jquery1.10给新增元素绑定事件的方法
2014/03/06 Javascript
windows下安装nodejs及框架express
2015/08/07 NodeJs
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
JavaScript中获取时间的函数集
2016/08/16 Javascript
关于使用axios的一些心得技巧分享
2017/07/02 Javascript
删除table表格行的实例讲解
2017/09/21 Javascript
基于复选框demo(分享)
2017/09/27 Javascript
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
react中使用css的7中方式(最全总结)
2019/02/11 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
Vue中rem与postcss-pxtorem的应用详解
2019/11/20 Javascript
js布局实现单选按钮控件
2020/01/17 Javascript
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
python对html过滤处理的方法
2018/10/21 Python
PyCharm配置mongo插件的方法
2018/11/30 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
css3中transition属性详解
2014/09/02 HTML / CSS
新百伦折扣店:Joe’s New Balance Outlet
2016/08/20 全球购物
大学生个人求职信范文
2013/09/21 职场文书
大学在校生求职信范文
2013/11/21 职场文书
大门门卫岗位职责
2013/11/30 职场文书
英语专业毕业生自荐信范文
2013/12/31 职场文书
《一个中国孩子的呼声》教学反思
2014/02/12 职场文书
《中华少年》教学反思
2014/02/15 职场文书
年底个人总结范文
2015/03/10 职场文书
2015年学生资助工作总结
2015/05/25 职场文书
法律意见书范文
2015/06/04 职场文书