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中正则表达式的用法实例汇总
Aug 18 Python
python字典基本操作实例分析
Jul 11 Python
Python操作mongodb的9个步骤
Jun 04 Python
Django跨域请求问题的解决方法示例
Jun 16 Python
python递归实现快速排序
Aug 18 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
Jun 11 Python
深入了解Django View(视图系统)
Jul 23 Python
python爬虫 urllib模块发起post请求过程解析
Aug 20 Python
python [:3] 实现提取数组中的数
Nov 27 Python
Python如何使用argparse模块处理命令行参数
Dec 11 Python
教你用Python matplotlib库制作简单的动画
Jun 11 Python
PYTHON 使用 Pandas 删除某列指定值所在的行
Apr 28 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用数组返回无限分类的列表数据的代码
2010/08/08 PHP
php禁止浏览器使用缓存页面的方法
2014/11/07 PHP
php使用标签替换的方式生成静态页面
2015/05/21 PHP
php实现在站点里面添加邮件发送的功能
2020/04/28 PHP
thinkPHP5.0框架安装教程
2017/03/25 PHP
php中str_pad()函数用法分析
2017/03/28 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
关于php开启错误提示的总结
2019/09/24 PHP
Javascript客户端将指定区域导出到Word、Excel的代码
2008/10/22 Javascript
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
2011/07/31 Javascript
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
jquery 实现input输入什么div图层显示什么
2014/06/15 Javascript
JS使用post提交的两种方式
2015/12/03 Javascript
BootStrap Validator使用注意事项(必看篇)
2016/09/28 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
2016/12/02 Javascript
Node.js制作简单聊天室
2017/01/12 Javascript
微信小程序 PHP后端form表单提交实例详解
2017/01/12 Javascript
Angular 2.x学习教程之结构指令详解
2017/05/25 Javascript
js 监控iframe URL的变化实例代码
2017/07/12 Javascript
浅谈Angular 中何时取消订阅
2017/11/22 Javascript
vue+element树组件 实现树懒加载的过程详解
2019/10/21 Javascript
React实现全选功能
2020/08/25 Javascript
vue+iview分页组件的封装
2020/11/17 Vue.js
使用python统计文件行数示例分享
2014/02/21 Python
浅谈python 里面的单下划线与双下划线的区别
2017/12/01 Python
python实现对输入的密文加密
2019/03/20 Python
PyTorch中的Variable变量详解
2020/01/07 Python
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
2014/05/08 HTML / CSS
英国在线潜水商店:Simply Scuba
2019/03/25 全球购物
光荣入党自我鉴定
2014/01/22 职场文书
保护环境的建议书
2014/03/12 职场文书
《翻越远方的大山》教学反思
2014/04/13 职场文书
师德师风个人反思
2014/04/28 职场文书
保洁公司服务承诺书
2014/05/28 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书
图解上海144收音机
2021/04/22 无线电