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和C++求解方法
Aug 20 Python
python PIL模块与随机生成中文验证码
Feb 27 Python
python统计多维数组的行数和列数实例
Jun 23 Python
python正则表达式匹配[]中间为任意字符的实例
Dec 25 Python
Python数据处理篇之Sympy系列(五)---解方程
Oct 12 Python
安装Pycharm2019以及配置anconda教程的方法步骤
Nov 11 Python
TensorFlow实现打印每一层的输出
Jan 21 Python
Python自动重新加载模块详解(autoreload module)
Apr 01 Python
python 轮询执行某函数的2种方式
May 03 Python
基于K.image_data_format() == 'channels_first' 的理解
Jun 29 Python
pytorch中Schedule与warmup_steps的用法说明
May 24 Python
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
Jun 08 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
Email+URL的判断和自动转换函数
2006/10/09 PHP
php中explode与split的区别介绍
2012/10/03 PHP
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
2013/04/13 PHP
php获取指定日期之间的各个周和月的起止时间
2014/11/24 PHP
如何在HTML 中嵌入 PHP 代码
2015/05/13 PHP
php将图片文件转换成二进制输出的方法
2015/06/10 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
用js生产批量批处理执行命令
2008/07/28 Javascript
JS 面向对象的5钟写法
2009/07/31 Javascript
javascript写的一个链表实现代码
2009/10/25 Javascript
BOM与DOM的区别分析
2010/10/26 Javascript
JavaScript 学习笔记之操作符
2015/01/14 Javascript
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
jQuery中设置form表单中action值的实现方法
2016/05/25 Javascript
jQuery编写设置和获取颜色的插件
2017/01/09 Javascript
基于vue.js实现侧边菜单栏
2017/03/20 Javascript
总结js中的一些兼容性易错的问题
2017/12/18 Javascript
解决vue页面DOM操作不生效的问题
2018/03/17 Javascript
关于Mac下安装nodejs、npm和cnpm的教程
2018/04/11 NodeJs
js正则相关知识点专题
2018/05/10 Javascript
微信小程序 bindtap 传参的实例代码
2020/02/21 Javascript
写一个Vue loading 插件
2020/11/09 Javascript
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
Python实现LRU算法的2种方法
2015/06/24 Python
简单谈谈Python流程控制语句
2016/12/04 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
2018/06/11 Python
Python3实现二叉树的最大深度
2019/09/30 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
2021/01/28 Python
百丽国际旗下购物网站:优购
2017/02/28 全球购物
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
老师的检讨书
2014/02/23 职场文书
副总经理岗位职责
2014/03/16 职场文书
党的群众路线教育实践活动批评与自我批评发言稿
2014/10/16 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
浅谈node.js中间件有哪些类型
2021/04/29 Javascript
Hive常用日期格式转换语法
2022/06/25 数据库