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的Flask框架中使用模版的入门教程
Apr 20 Python
Python中random模块生成随机数详解
Mar 10 Python
python 显示数组全部元素的方法
Apr 19 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
Sep 17 Python
python使用matplotlib绘制热图
Nov 07 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
Oct 14 Python
使用Python的Turtle库绘制森林的实例
Dec 18 Python
Python GUI库PyQt5样式QSS子控件介绍
Feb 25 Python
Python如何合并多个字典或映射
Jul 24 Python
python实现发送带附件的邮件代码分享
Sep 22 Python
浅析python实现动态规划背包问题
Dec 31 Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
Feb 06 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 sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
详解PHP中的mb_detect_encoding函数使用方法
2015/08/18 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
2016/02/27 PHP
PHP简单实现上一页下一页功能示例
2016/09/14 PHP
php实现自定义中奖项数和概率的抽奖函数示例
2017/05/26 PHP
详解PHP文件的自动加载(autoloading)
2018/02/04 PHP
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
根据对象的某一属性进行排序的js代码(如:name,age)
2010/08/10 Javascript
js汉字转拼音实现代码
2013/02/06 Javascript
jquery form 隐藏的input 选择
2014/04/29 Javascript
javascript实现表单验证
2016/01/29 Javascript
JavaScript两个变量交换值的实现方法
2017/03/01 Javascript
React组件生命周期详解
2017/07/03 Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
2017/08/28 Javascript
vue生命周期实例小结
2018/08/15 Javascript
10分钟彻底搞懂Http的强制缓存和协商缓存(小结)
2018/08/30 Javascript
JS JQuery获取data-*属性值方法解析
2020/09/01 jQuery
[43:24]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.12
2020/12/17 DOTA
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
python批量查询、汉字去重处理CSV文件
2018/05/31 Python
pytorch实现建立自己的数据集(以mnist为例)
2020/01/18 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
wxpython自定义下拉列表框过程图解
2020/02/14 Python
python手写均值滤波
2020/02/19 Python
HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)
2017/08/24 HTML / CSS
新奇的小玩意:IWOOT
2016/07/21 全球购物
可以在一个PHP文件里面include另外一个PHP文件两次吗
2015/05/22 面试题
策划助理岗位职责
2013/11/18 职场文书
法学专业本科生自荐信范文
2013/12/17 职场文书
办公室秘书岗位职责范本
2014/02/11 职场文书
小学国庆节活动方案
2014/02/11 职场文书
2014年企业工会工作总结
2014/11/12 职场文书
好员工观后感
2015/06/17 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
2021/04/05 Python
MySQL优化之慢日志查询
2022/06/10 MySQL