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操作日期和时间的方法
Mar 11 Python
跟老齐学Python之有点简约的元组
Sep 24 Python
python根据路径导入模块的方法
Sep 30 Python
python web框架学习笔记
May 03 Python
flask中主动抛出异常及统一异常处理代码示例
Jan 18 Python
python实现画五角星和螺旋线的示例
Jan 20 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
Jan 09 Python
为什么黑客都用python(123个黑客必备的Python工具)
Jan 31 Python
Python下划线5种含义代码实例解析
Jul 10 Python
Python把图片转化为pdf代码实例
Jul 28 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
Nov 01 Python
python之pygame模块实现飞机大战完整代码
Nov 29 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使用sql server验证连接数据库的方法
2014/12/25 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
2017/08/15 PHP
JS 无法通过W3C验证的处理方法
2010/03/09 Javascript
jquery实现textarea输入框限制字数的方法
2015/01/15 Javascript
JS实现从表格中动态删除指定行的方法
2015/03/31 Javascript
详解Jquery实现ready和bind事件
2016/04/14 Javascript
AngularJS解决ng-if中的ng-model值无效的问题
2017/06/21 Javascript
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
微信页面弹出键盘后iframe内容变空白的解决方案
2017/09/20 Javascript
浅谈Vue组件及组件的注册方法
2018/08/24 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
2018/08/24 Javascript
NodeJs 文件系统操作模块fs使用方法详解
2018/11/26 NodeJs
使用vue自定义指令开发表单验证插件validate.js
2019/05/23 Javascript
layui实现三级联动效果
2019/07/26 Javascript
vue3实现v-model原理详解
2019/10/09 Javascript
layui实现显示数据表格、搜索和修改功能示例
2020/06/03 Javascript
[01:33:14]LGD vs VP Supermajor 败者组决赛 BO3 第二场 6.10
2018/07/04 DOTA
Python中的pprint折腾记
2015/01/21 Python
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
解决python 执行shell命令无法获取返回值的问题
2020/12/05 Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
2020/12/22 Python
HTML5离线缓存Manifest是什么
2016/03/09 HTML / CSS
英国伦敦的睡衣品牌:Asceno
2019/10/06 全球购物
犹他州最古老的体育用品公司:Al’s
2020/12/18 全球购物
node中使用shell脚本的方法步骤
2021/03/23 Javascript
大学生毕业自我评价范文分享
2013/11/07 职场文书
校园之声广播稿
2014/01/31 职场文书
小学美术教学反思
2014/02/01 职场文书
小学优秀班主任事迹材料
2014/05/17 职场文书
员工合理化建议书
2014/05/19 职场文书
支行行长竞聘报告
2014/11/06 职场文书
公司介绍信范文
2015/01/31 职场文书
小学生学习保证书
2015/02/26 职场文书
民主生活会主持词
2015/07/01 职场文书
父亲节感言
2015/08/03 职场文书
基于go interface{}==nil 的几种坑及原理分析
2021/04/24 Golang