相当于给存储空间贴名字标签
刚开始test_list_1=['tom','bob']
,看作给一个柜子里装上['tom','bob']
,然后将标签test_list_1
贴在柜子上;
将test_list_2=test_list_1
,也就是说将标签test_list_2
也贴在存着['tom','bob']
的柜子上;
通过输出也可以看到id相同。
后来test_list_1.append('raj')
,就相当于给标签为test_list_1
的柜子装进去了raj
;
这时柜子上的标签为两个test_list_2
和test_list_1
,所以无论查找哪个标签柜子,都对应同一个柜子,内容都是相同的['tom', 'bob', 'raj']
。
test_list_1=['tmp']
,这时找到了一个新的柜子,将内容['tmp']
装进去,并且将标签test_list_1
贴在这个柜子上,通过输出id可以证明
Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec 7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> test_list_1=['tom','bob]
SyntaxError: EOL while scanning string literal
>>> test_list_1=['tom','bob']
>>> test_list_2=test_list_1
>>> print(test_list_1)
['tom', 'bob']
>>> print(test_list_2)
['tom', 'bob']
>>> id(test_list_1)
2540766033600
>>> id(test_list_2)
2540766033600
>>> test_list_1.append('raj')
>>> print(test_list_1)
['tom', 'bob', 'raj']
>>> id(test_list_1)
2540766033600
>>> print(test_list_2)
['tom', 'bob', 'raj']
>>> id(test_list_2)
2540766033600
>>> test_list_1=['tmp']
>>> print(test_list_1)
['tmp']
>>> print(test_list_2)
['tom', 'bob', 'raj']
>>> id(test_list_1)
2540766234176
>>> id(test_list_2)
2540766033600
>>>