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 相关文章推荐
pyqt4教程之实现半透明的天气预报界面示例
Mar 02 Python
python3生成随机数实例
Oct 20 Python
Python操作MySQL数据库9个实用实例
Dec 11 Python
python 实时遍历日志文件
Apr 12 Python
Python基于正则表达式实现文件内容替换的方法
Aug 30 Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
Python实现OpenCV的安装与使用示例
Mar 30 Python
python通过zabbix api获取主机
Sep 17 Python
Python对HTML转义字符进行反转义的实现方法
Apr 28 Python
Pytorch提取模型特征向量保存至csv的例子
Jan 03 Python
python如何处理程序无法打开
Jun 16 Python
如何用python开发Zeroc Ice应用
Jan 29 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
无线电的诞生过程
2021/03/01 无线电
如何在PHP中使用Oracle数据库(3)
2006/10/09 PHP
PHP 图片上传实现代码 带详细注释
2010/04/29 PHP
php中json_encode中文编码问题分析
2011/09/13 PHP
destoon实现调用热门关键字的方法
2014/07/15 PHP
php+mysql数据库实现无限分类的方法
2014/12/12 PHP
给Function做的OOP扩展
2009/05/07 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
使用js画图之圆、弧、扇形
2015/01/12 Javascript
使用jspdf生成pdf报表
2015/07/03 Javascript
javascript设计简单的秒表计时器
2020/09/05 Javascript
整理Javascript函数学习笔记
2015/12/01 Javascript
Bootstrap入门书籍之(零)Bootstrap简介
2016/02/17 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
vue实现个人信息查看和密码修改功能
2018/05/06 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
vue + elementUI实现省市县三级联动的方法示例
2019/10/29 Javascript
Node.js设置定时任务之node-schedule模块的使用详解
2020/04/28 Javascript
vue router返回到指定的路由的场景分析
2020/11/10 Javascript
Python类的继承和多态代码详解
2017/12/27 Python
详解django2中关于时间处理策略
2019/03/06 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
2019/08/22 Python
Django模板语言 Tags使用详解
2019/09/09 Python
python梯度下降算法的实现
2020/02/24 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
Django 用户认证Auth组件的使用
2020/11/30 Python
html+css3实现的登录界面
2020/12/09 HTML / CSS
HTML5中视频音频的使用详解
2017/07/07 HTML / CSS
HTML5调用手机发短信和打电话功能
2020/04/29 HTML / CSS
意大利体育用品网上商城:Nencini Sport
2016/08/18 全球购物
优秀教师先进事迹
2014/01/22 职场文书
厉行勤俭节约倡议书
2014/05/16 职场文书
银行开户授权委托书格式
2014/10/10 职场文书
2016年安全月活动总结
2016/04/06 职场文书
动画《朋友游戏》公开佐藤友生绘制的开播纪念绘
2022/04/06 日漫