码迷,mamicode.com
首页 > 编程语言 > 详细

Python基础:Python可变对象和不可变对象

时间:2015-02-05 20:21:48      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

Python在heap中分配的对象分成两类:可变对象和不可变对象。所谓可变对象是指,对象的内容是可变的,例如list。而不可变的对象则相反,表示其内容不可变。

不可变对象:int,string,float,tuple

可变对象   :list,dictionary

对于全局变量来说,可变对象和不可变对象有很大的不同。

 

一、不可变对象

由于Python中的变量存放的是对象引用,所以对于不可变对象而言,尽管对象本身不可变,但变量的对象引用是可变的。运用这样的机制,有时候会让人产生糊涂,似乎可变对象变化了。如下面的代码:

i = 73  

i += 2  

 

 

 

 

技术分享

 

 

从上面得知,不可变的对象的特征没有变,依然是不可变对象,变的只是创建了新对象,改变了变量的对象引用。

看看下面的代码,更能体现这点的。

 

二、对于可变对象

 其对象的内容是可以变化的。当对象的内容发生变化时,变量的对象引用是不会变化的。如下面的例子。

m=[5,9]  

m+=[6] 

技术分享

Python基础:Python可变对象和不可变对象

标签:

原文地址:http://www.cnblogs.com/xiaobaixian/p/4275796.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!