python变量存储分析

相当于给存储空间贴名字标签

刚开始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_2test_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
>>> 

在这里插入图片描述


版权声明:本文为seluowei3084原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。