#-*-coding:utf-8-*-


print "可变对象：list"
print "不可变对象：str"

print "对于不变对象而言，调用自身的任意方法，都不会改变对象自身的内容，而只是创建一个新的对象并返回。这样保证不变对象本身永远不变"

a = "abc"
b = a.replace("a", "A") 
print b 
print a

print "可变对象存在的意义是什么呢，因为可变对象一旦创建，对象内部的数据就不能改变，这样\
就减少了数据修改导致的错误，此外，由于对象不变多任务环境下读取数据不需要加锁\同时读数据不存在问题\
,我们在读写程序时，如果允许的话就尽量设计成不变对象"
