Python引用类型和值类型的区别与使用解析


Posted in Python onOctober 17, 2017

Python数据类型分为值类型和引用类型, 下面我们看下它们的区别:

值类型:

对象本身不允许修改,数值的修改实际上是让变量指向了一个新的对象
包含:字符串、元组、数值,本身不允许被修改

引用类型:

对象本身可以修改,
包含:列表、字典,本身允许修改

例子:

a = 11 
print id(a) 
a = 16 
print id(a)

结果:

43525053L
57628312L

修改值类型的值,只是让它指向一个新的内存地址,并不会改变变量b的值

l = [1,2,3] 
print id(l) 
l[0] = 0 
print id(l)

结果:

19775281L
19775281L

修改引用类型的值,因为listb的地址和lista的一致,所以也会被修改

一般只为了复制值,可以使用分片操作

listb = lista[:]

下面在单独看下python的值类型和引用类型

值类型:

包含:字符串、元组、数值,本身不允许被修改

引用类型:

包含:列表、字典,本身允许修改

a = 2
b = a
a = 3

修改值类型的值,只是让它指向一个新的内存地址,并不会改变变量b的值

lista = [1,2]
listb = lista
lista[0] = 3

修改引用类型的值,因为listb的地址和lista的一致,所以也会被修改

一般只为了复制值,可以使用分片操作

listb = lista[:]

总结

以上所述是小编给大家介绍的Python引用类型和值类型的区别与使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python对象体系深入分析
Oct 28 Python
快速了解Python开发中的cookie及简单代码示例
Jan 17 Python
Python装饰器(decorator)定义与用法详解
Feb 09 Python
python使用turtle库绘制时钟
Mar 25 Python
django框架模板语言使用方法详解
Jul 18 Python
python定位xpath 节点位置的方法
Aug 27 Python
linux下python中文乱码解决方案详解
Aug 28 Python
Python字符串、列表、元组、字典、集合的补充实例详解
Dec 20 Python
TensorFLow 变量命名空间实例
Feb 11 Python
利用django model save方法对未更改的字段依然进行了保存
Mar 28 Python
Django实现前台上传并显示图片功能
May 29 Python
python的setattr函数实例用法
Dec 16 Python
利用python批量修改word文件名的方法示例
Oct 17 #Python
Django内容增加富文本功能的实例
Oct 17 #Python
Python通过future处理并发问题
Oct 17 #Python
python3设计模式之简单工厂模式
Oct 17 #Python
基于Python和Scikit-Learn的机器学习探索
Oct 16 #Python
python版简单工厂模式
Oct 16 #Python
Python实现扩展内置类型的方法分析
Oct 16 #Python
You might like
PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
2009/10/22 PHP
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
2019/10/16 PHP
幻宇的层模拟窗口效果-提供演示和下载
2007/01/20 Javascript
js GridView 实现自动计算操作代码
2009/03/25 Javascript
js parentElement和offsetParent之间的区别
2010/03/23 Javascript
javascript getElementsByClassName函数
2010/04/01 Javascript
javascript实现动态标签云
2015/10/16 Javascript
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
JavaScript严格模式详解
2015/11/18 Javascript
浅谈js中的延迟执行和定时执行
2016/05/31 Javascript
详解wow.js中各种特效对应的类名
2017/09/13 Javascript
利用Javascript获取选择文本所在的句子详解
2017/12/03 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
讲解vue-router之命名路由和命名视图
2018/05/28 Javascript
layui框架table 数据表格的方法级渲染详解
2018/08/19 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
JavaScript实现图片轮播特效
2019/10/23 Javascript
python中reload(module)的用法示例详解
2017/09/15 Python
numpy排序与集合运算用法示例
2017/12/15 Python
matplotlib作图添加表格实例代码
2018/01/23 Python
python 将print输出的内容保存到txt文件中
2018/07/17 Python
Python实现快速傅里叶变换的方法(FFT)
2018/07/21 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
python剪切视频与合并视频的实现
2020/03/03 Python
Matlab中plot基本用法的具体使用
2020/07/17 Python
教学大赛获奖感言
2014/01/15 职场文书
班组长竞聘书
2014/03/31 职场文书
软件项目实施计划书
2014/05/02 职场文书
清正廉洁演讲稿
2014/05/22 职场文书
机械电子工程专业自荐书
2014/06/10 职场文书
领导班子奢靡之风查摆问题及整改措施
2014/09/27 职场文书
普宁寺导游词
2015/02/04 职场文书
教师师德表现自我评价
2015/03/05 职场文书
个人催款函范文
2015/06/24 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书