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通过colorama模块在控制台输出彩色文字的方法
Mar 19 Python
Python实现的数据结构与算法之队列详解
Apr 22 Python
Python实现对PPT文件进行截图操作的方法
Apr 28 Python
PyQt5每天必学之事件与信号
Apr 20 Python
在Python中居然可以定义两个同名通参数的函数
Jan 31 Python
python Pandas库基础分析之时间序列的处理详解
Jul 13 Python
Python中利用LSTM模型进行时间序列预测分析的实现
Jul 26 Python
Python模块_PyLibTiff读取tif文件的实例
Jan 13 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
Apr 22 Python
Python 字典中的所有方法及用法
Jun 10 Python
Python三维绘图之Matplotlib库的使用方法
Sep 20 Python
python中not、and和or的优先级与详细用法介绍
Nov 03 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
实现 win2003 下 mysql 数据库每天自动备份
2006/12/06 PHP
关于BIG5-HKSCS的解决方法
2007/03/20 PHP
php查询操作实现投票功能
2016/05/09 PHP
css3实现背景模糊的三种方式
2021/03/09 HTML / CSS
js获取网页高度(详细整理)
2012/12/28 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
2014/11/28 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
JavaScript实现的一个倒计时的类
2015/03/12 Javascript
详谈javascript异步编程
2016/02/21 Javascript
JavaScript设计模式经典之命令模式
2016/02/24 Javascript
浅谈如何实现easyui的datebox格式化
2016/06/12 Javascript
js+css3实现旋转效果
2017/01/20 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
详解vue中computed 和 watch的异同
2017/06/30 Javascript
详解Puppeteer 入门教程
2018/05/09 Javascript
JavaScript面向对象程序设计创建对象的方法分析
2018/08/13 Javascript
js常用正则表达式集锦
2019/05/17 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
python实现在无须过多援引的情况下创建字典的方法
2014/09/25 Python
浅谈Python中用datetime包进行对时间的一些操作
2016/06/23 Python
Python中那些 Pythonic的写法详解
2019/07/02 Python
Python读取文件内容为字符串的方法(多种方法详解)
2020/03/04 Python
基于Python中random.sample()的替代方案
2020/05/23 Python
翻新二手苹果产品的网络领导者:Mac of all Trades
2017/12/19 全球购物
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
法院实习人员自我鉴定
2013/09/26 职场文书
商务专员岗位职责
2013/11/23 职场文书
网络工程专业自荐信范文
2014/03/16 职场文书
高中生打架检讨书1000字
2015/02/17 职场文书
2015年幼儿园后勤工作总结
2015/04/25 职场文书
岁月神偷观后感
2015/06/11 职场文书
最美劳动诗,致敬所有的劳动者!
2019/07/12 职场文书
详解python网络进程
2021/06/15 Python
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL
Python 处理表格进行成绩排序的操作代码
2021/07/26 Python