如果按照你的理论的话, a = [1], a=[2], 仅仅是变量a重新绑定其它对象, [1] 还是[1], 因为这是不可变对象, 明显就有问题了
前期你这么记倒不是不行, 但是后面涉及到复杂概念的时候, 你可能就会混乱了.
变量, 这里比如说是a, 他只是对象的外在名字而已(后面namespace 概念里会提及), 你看a 和其他地方的a 是不是一样, 只需要看 a 的id 就可以, id(a), 这个id 就是变量的身份证.
a = 1, a=2, a+=1 这几个步骤后, 你查看 id(a) 都是不一样的, 也就是说a 直接被修改了, 是a被赋予了其他对象, 并不能说明 1 , 2 是不可变的.
你分别对比以下的变量id, 就能明白了可变和不可变了
a=1
b=1
--------
a="a"
b="a"
-------
a=[1]
b=[1]
-------
a = [1]
a.append(2)
a[1]=3
-----
分别查看每次赋值之后的id, 就心里有数了
前期你这么记倒不是不行, 但是后面涉及到复杂概念的时候, 你可能就会混乱了.
变量, 这里比如说是a, 他只是对象的外在名字而已(后面namespace 概念里会提及), 你看a 和其他地方的a 是不是一样, 只需要看 a 的id 就可以, id(a), 这个id 就是变量的身份证.
a = 1, a=2, a+=1 这几个步骤后, 你查看 id(a) 都是不一样的, 也就是说a 直接被修改了, 是a被赋予了其他对象, 并不能说明 1 , 2 是不可变的.
你分别对比以下的变量id, 就能明白了可变和不可变了
a=1
b=1
--------
a="a"
b="a"
-------
a=[1]
b=[1]
-------
a = [1]
a.append(2)
a[1]=3
-----
分别查看每次赋值之后的id, 就心里有数了