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)看看,就明白了。