可变类型与不可变类型对象
a=[1,2,3]
print(f‘初始的列表:{a}‘)
a[2]=4
print(f‘修改的列表:{a}‘)
输出结果:
不可变类型举例:
a=(1,2,3)
a[1]=4
其元组内容对象组成:
输出结果:
该错误的解释涉及到地址问题。
a=2
print(f‘ 整数型对象2的id值为{id(2)}‘)
print(f‘整型类型变量a初始id值:{id(a)}‘)
b=3
print(f‘ 整数型对象3的id值为{id(3)}‘)
print(f‘整型类型变量b初始id值:{id(b)}‘)
a=4
print(f‘ 整数型对象4的id值为{id(4)}‘)
print(f‘整型类型变量a修改id值:{id(a)}‘)
b=a
print(f‘整型类型变量b修改id值:{id(a)}‘)
其结果显示为:
这里的整数型对象 2,3,4 始终没有变化ID值,而变量a,b实际上,在改变值的同时,已经涉及到另一个对象的ID、VALUE等数据内存空间,当使用元组等不可改变对象的数据类型时,便出现了上述举例中的错误。
原文:https://www.cnblogs.com/xixifuli/p/14743269.html