变量更改值

字符串str:
更改值 是把 新的值 存储在新的内存地址中,str 是不可变数据类型;
列表list:
更改值 是在原有的内存中,新的值覆盖老的值,list 是可变数据类型;

不可变数据类型:整型int、浮点型float、字符串型string和元组tuple;

可变数据类型:列表list和字典dict;

说明:变量指向的内存地址不变,值会变的,称为可变数据类型;值不会变的,称为不可变数据类型。

列表和字典,赋予一个变量,这个变量存的是一个指向数据内存地址的起始地址;

整型int、浮点型float、字符串型string,赋予一个变量存的就是数据;

-------------------------------

a =3
b= 5
a,b = b,a+b #执行的时候a还是3, b还是5; 执行完了a 才变成5,b为8
print(a)
print(b)

相当于:
t = (b, a + b) # t是一个tuple
a = t[0]
b = t[1]


-------------------------------
变量内存释放:
a = 3
b = 3
# a 和b 指向同一块内存,这个内存的引用为2,当这个内存的引用计数值为0的时候,才会释放这块内存
del b #删除b变量,存放数据3的这个内存引用计数减1
del a #删除a变量,存放数据3的这个内存引用计数减1
# print(b)
#现在这个存放数据3的内存引用计数为0,释放了数据3的内存;当程序运行结束后也会释放数据3的内存,因为这个时候数据3的内存引用数也为0,自然就释放了


参考:https://blog.csdn.net/dan15188387481/article/details/49864613

原文地址:https://www.cnblogs.com/lighthouse/p/9334127.html