首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python中不可变的变量,该如何解决

2012-03-07 
python中不可变的变量为什么存在不可变的变量类型呢??这样不是很麻烦?如:num1numnum+2就上面的简单句子

python中不可变的变量
为什么存在不可变的变量类型呢??这样不是很麻烦?

如:
num=1
num=num+2

就上面的简单句子就产生了两次int对象,这不是使用python速度变慢??

难道修改一个变量的值比生成一个变量还要慢??

生成一个变量不是要做的工具更多。不理解

[解决办法]
> > 就上面的简单句子就产生了两次int对象,这不是使用python速度变慢??
慢不慢不是看出来的,试过就知道了。

> > 难道修改一个变量的值比生成一个变量还要慢??

不可变对象有很多好处,最明显的是对象共享:

str1 = "abc "
str2 = "abc "
str3 = "abc "

因为 "abc "是不可变的,现在只需要一个 "abc "对象。

如果 "abc "是可变的,修改str1的时候,为了不受影响,str2和str3必须拥有与str1独立的 "abc "副本,那样需要三个对象。

而且有些应用需要不可变的数据,比如字典的键值。如果学过hash的话应该就可以明白。

热点排行