首页 > 开发 > Python > 正文

python中关于字符串是不可变的理解

2017-09-06 19:32:34  来源:网友分享

python中字符串是不可变的,但下面的代码怎么理解?

a = 'joe'a += ' is'a

会输出 'joe is'

第二个问题:

x = 'a'y = 'a'x is y

输出True

x = [1,2]y = [1,2]x is y

输出False
why?


已经知道了,按照一楼朋友的方法试了一下,就明白了。感谢
当值是字符串时
x=y='a'和
x='a'
y='a'
都是2个指针指向同一块内存地址

当值是列表时
x=y=[1,2]
x、y的指针指向同一块内存地址
x = [1,2]
y = [1,2]
x、y分别指向不同的内存地址

解决方案

执行完第一句,输出id(a),最后再执行id(a)看看,就明白了。