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计算三角函数之acos()方法的使用
May 15 Python
深入解读Python解析XML的几种方式
Feb 16 Python
Python中MySQL数据迁移到MongoDB脚本的方法
Apr 28 Python
微信跳一跳python代码实现
Jan 05 Python
Python之时间和日期使用小结
Feb 14 Python
Python实现二叉树的常见遍历操作总结【7种方法】
Mar 06 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
Jun 21 Python
Python实现自动访问网页的例子
Feb 21 Python
高考考python编程是真的吗
Jul 20 Python
浅谈如何使用python抓取网页中的动态数据实现
Aug 17 Python
详解pycharm自动import所需的库的操作方法
Nov 30 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
Mar 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
AM/FM收音机的安装与调试
2021/03/02 无线电
PHP简介
2006/10/09 PHP
PHP详细彻底学习Smarty
2008/03/27 PHP
PHP 危险函数解释 分析
2009/04/22 PHP
php 的加密函数 md5,crypt,base64_encode 等使用介绍
2012/04/09 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
2018/09/26 PHP
你必须知道的Javascript知识点之"字面量和对应类型"说明介绍
2013/04/23 Javascript
jQuery地图map悬停显示省市代码分享
2015/08/20 Javascript
浅谈jquery页面初始化的4种方式
2016/11/27 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
vue的Virtual Dom实现snabbdom解密
2017/05/03 Javascript
深入浅析JavaScript中的RegExp对象
2017/09/18 Javascript
vue修改对象的属性值后页面不重新渲染的实例
2018/08/09 Javascript
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
浅谈Node框架接入ELK实践总结
2019/02/22 Javascript
详解如何模拟实现node中的Events模块(通俗易懂版)
2019/04/15 Javascript
创建与框架无关的JavaScript插件
2020/12/01 Javascript
[01:23]一分钟告诉你 DOTA2为什么叫信仰2
2014/06/20 DOTA
[01:02:45]完美世界DOTA2联赛 LBZS vs Forest 第三场 11.07
2020/11/09 DOTA
Python错误: SyntaxError: Non-ASCII character解决办法
2017/06/08 Python
Python2实现的LED大数字显示效果示例
2017/09/04 Python
python 删除指定时间间隔之前的文件实例
2018/04/24 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
Pycharm+Scrapy安装并且初始化项目的方法
2019/01/15 Python
Python环境管理virtualenv&virtualenvwrapper的配置详解
2020/07/01 Python
Python collections模块的使用方法
2020/10/09 Python
Python使用struct处理二进制(pack和unpack用法)
2020/11/12 Python
英国领先的酒类网上商城:TheDrinkShop
2017/03/16 全球购物
香港现代设计家具品牌:Ziinlife Furniture
2018/11/13 全球购物
萨克斯第五大道英国:Saks Fifth Avenue英国
2019/04/01 全球购物
专升本自我鉴定
2013/10/10 职场文书
车辆安全检查制度
2014/01/12 职场文书
大学生见习报告总结
2014/11/04 职场文书
幼儿园小班教师随笔
2015/08/14 职场文书