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之list和str比较
Sep 20 Python
Python实现破解12306图片验证码的方法分析
Dec 29 Python
Python实现的栈(Stack)
Jan 26 Python
Python常用的json标准库
Feb 19 Python
浅谈python常用程序算法
Mar 22 Python
解决python tkinter界面卡死的问题
Jul 17 Python
深入浅析Python 中的sklearn模型选择
Oct 12 Python
Django框架之中间件MiddleWare的实现
Dec 30 Python
python入门之基础语法学习笔记
Feb 08 Python
python图形开发GUI库wxpython使用方法详解
Feb 14 Python
用Python提取PDF表格的方法
Apr 11 Python
Python进阶学习之带你探寻Python类的鼻祖-元类
May 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
php购物车实现代码
2011/10/10 PHP
JQuery Dialog的内存泄露问题解决方法
2010/06/18 Javascript
JS维吉尼亚密码算法实现代码
2010/11/09 Javascript
JavaScript中的object转换函数toString()与valueOf()介绍
2014/12/31 Javascript
JavaScript中用于生成随机数的Math.random()方法
2015/06/15 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
Vue 表单控件绑定的实现示例
2017/08/11 Javascript
微信小程序wepy框架笔记小结
2018/08/08 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
Vue组件的使用及个人理解与介绍
2019/02/09 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
2019/06/18 Javascript
vue实现下拉加载其实没那么复杂
2019/08/13 Javascript
详解如何在Vue项目中发送jsonp请求
2019/10/25 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
2020/06/05 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
[46:55]Ti4 冒泡赛第二轮 LGD vs C9
2014/07/14 DOTA
[46:58]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第一场 12.17
2020/12/19 DOTA
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
django 删除数据库表后重新同步的方法
2018/05/27 Python
Python实现图片拼接的代码
2018/07/02 Python
Django 实现xadmin后台菜单改为中文
2019/11/15 Python
Python Scrapy框架:通用爬虫之CrawlSpider用法简单示例
2020/04/11 Python
python多进程使用函数封装实例
2020/05/02 Python
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
味多美官网:蛋糕订购,100%使用天然奶油
2017/11/10 全球购物
什么是servlet
2012/05/08 面试题
外贸业务员求职自荐信分享
2013/09/21 职场文书
工商企业管理专业自荐信范文
2014/04/12 职场文书
挂靠协议书范本
2014/04/22 职场文书
护士求职信范文
2014/05/24 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
2015年财务部年度工作总结
2015/05/19 职场文书
php字符串倒叙
2021/04/01 PHP
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python