Python 中可变与不可变对象
来源:互联网 发布:用python搭建知识图谱 编辑:程序博客网 时间:2024/05/21 23:51
Python 中变量没有类型,类型属于对象。可以理解Python中没有值传递,一切皆是对象的引用。
Python中的数据对象分为可变对象和不可变数据对象,可变和不可变又是指什么呢?
那么Python中哪些是不可变的对象,哪些又是可变的对象呢?
划分依据:
如果修改一个对象的内容修改前和修改后,该对象在内存地址中的地址并没有发生改变,那么该对象是可变的对象(即对象内容可以改变的)
如果一个对象修改前和修改后对象的地址发生改变了,那么该对象是不可变的对象(即对象的内容不可改变)
- 不可变(immutable):int ,String、float、元组(tuple)
eg. 变量 a = 12再修改其值a = 1,这里相当于生成一个人对象a ,赋值1,再让a 指向它。a 的值没有被改变,只是生成一个新的a对象
上面对a重新复制后,a指向了一个新的对象,其值是不能修改的,修改意味着重新创建了一个同名对象,以前的对象引用作为垃圾被回收。
打印输出前后地址显示不同,说明a修改前后不在是一个对象了。
- 可变(mutable):字典型(dictionary)、列表型(list)
变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。
la第二个元素修改前后,打印输出前后的地址没有发生改变。
阅读全文
0 0
- python中 可变与不可变对象
- Python 中可变与不可变对象
- python 可变对象与不可变对象
- python可变对象与不可变对象
- python下的可变对象与不可变对象
- python笔记-可变对象与不可变对象
- python 之可变对象与不可变对象
- Python中的可变对象与不可变对象
- Python中可变对象和不可变对象
- java中可变对象与不可变对象
- python参数传递问题与可变/不可变对象
- python可变对象和不可变对象
- (python)可变对象/不可变对象
- Python-可变对象和不可变对象
- python的可变和不可变对象
- python 可变 与 不可变类型
- python中的可变与不可变类型
- python中的可变与不可变
- [杂题 计数] UOJ#209【UER #6】寻找罪犯
- NC外部统一流程管理平台方案
- IO 多路复用之poll总结
- 算法8 Unique Paths
- windows7安装centos7.1双系统
- Python 中可变与不可变对象
- 如何查看两个时间类型的变量的相差值
- Android Studio 实用快捷键
- The LightningChart 是一款集成到微软Visual Studio数据可视化工具包。
- 基本爬虫框架
- 同济启明星深基坑支挡结构设计计算软件FRWS 8.1全功能
- servlet 和 jsp的区别与联系
- js 正则表达式根据出生日期获得年龄
- 银盒宝成培训教程之银盒子CRM会员营销一页纸简介 | 银盒宝成