变量的补充-变量的创建过程
变量的创建
- 当定义一个变量,如:name = “oldboy”,这时程序开辟了一个空间,将“oldboy”存储进去,再让变量名name指向‘oldboy’所在的内存地址
如下图:
- 当定义两个变量时,变量名不同,但是变量的值相同时,如:name=“oldboy”,username=“oldboy”,python解释器会由于要定义的新变量内容与之前定义过的变量内容相同而不让这部分内容占用新的内存空间,他们会指向同一个内存地址
如下图
也可以用id()的方法进行查看值,如下代码:
>>> name1 = 'oldboy'
>>> name2 = 'oldboy'
>>> name1_id = id(name1)
>>> name2_id = id(name2)
>>> print(name1_id,name2_id)
(4459387232, 4459387232)
- 当定义两个变量时,变量名相同,但是变量的值不相同时,如:name=“oldboy”,name=“alex”,这时等于把变量的值进行了修改,变量name的值就为“xialiang”,原来的值“oldboy”会被垃圾回收机制进行回收(会定定时去回收掉oldboy)
如下图:
垃圾回收机制
- python解释器有自动的垃圾回收机制,自动隔一段时间把没有变量名关联的内存数据回收