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深入学习之特殊方法与多范式
Aug 31 Python
使用Python的判断语句模拟三目运算
Apr 24 Python
Python使用asyncio包处理并发详解
Sep 09 Python
Python实现模拟登录网易邮箱的方法示例
Jul 05 Python
在Python中增加和插入元素的示例
Nov 01 Python
Python3实现统计单词表中每个字母出现频率的方法示例
Jan 28 Python
pycharm访问mysql数据库的方法步骤
Jun 18 Python
python调用接口的4种方式代码实例
Nov 19 Python
Pytorch之contiguous的用法
Dec 31 Python
什么是Python中的顺序表
Jun 02 Python
python/golang实现循环链表的示例代码
Sep 14 Python
Matlab如何实现矩阵复制扩充
Jun 02 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
smarty模板数学运算示例
2016/12/11 PHP
解决出现SoapFault (looks like we got no XML document)的问题
2017/06/24 PHP
innerHTML与jquery里的html()区别介绍
2012/10/12 Javascript
jquery ajax同步异步的执行最终解决方案
2013/04/26 Javascript
JavaScript检测原始值、引用值、属性
2016/06/20 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
H5移动端图片压缩上传开发流程
2016/11/09 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
js 获取json数组里面数组的长度实例
2017/10/31 Javascript
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
2017/11/15 Javascript
第一个Vue插件从封装到发布
2017/11/22 Javascript
node内置调试方法总结
2018/02/22 Javascript
Vue 莹石摄像头直播视频实例代码
2018/08/31 Javascript
vue+axios实现文件下载及vue中使用axios的实例
2018/09/21 Javascript
angularJS实现不同视图同步刷新详解
2018/10/09 Javascript
js实现同一个页面,多个enter事件绑定的示例
2018/10/10 Javascript
解决Layui中templet中a的onclick参数传递的问题
2019/09/20 Javascript
vue 实现强制类型转换 数字类型转为字符串
2019/11/07 Javascript
Python实现身份证号码解析
2015/09/01 Python
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
Python学习笔记之解析json的方法分析
2017/04/21 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
如何使用python进行pdf文件分割
2019/11/11 Python
PyCharm第一次安装及使用教程
2020/01/08 Python
keras打印loss对权重的导数方式
2020/06/10 Python
python中wheel的用法整理
2020/06/15 Python
资生堂美国官网:Shiseido美国
2016/09/02 全球购物
什么是重载?CTS、CLS和CLR分别做何解释
2012/05/06 面试题
数控加工专业毕业生自荐信
2013/09/27 职场文书
教师自荐信范文
2013/12/09 职场文书
低碳日宣传活动总结
2014/07/09 职场文书
董事长秘书工作总结
2015/08/14 职场文书
Python 把两层列表展开平铺成一层(5种实现方式)
2021/04/07 Python
MySQL创建管理LIST分区
2022/04/13 MySQL
Vite + React从零开始搭建一个开源组件库
2022/06/25 Javascript