不可变类型(数字、字符串、元组、不可变集合):python在声明不可变类型时会在已经声明的对象中寻找该对象是否已经被声明过,若该对象被声明过则,变量会直接指向该对象不会再申请新的内存空间。
a = 88888 b = 888888 print(id(a)) print(id(b))
以下是输出
1758216113936
1758214794960
不可变类型不能对其内容直接修改,如字符串'qweqw0'可以对其进行分割加长的处理(经过如此处理之后python其实是将新的字符串储存到新的内存中),但是不能替换改变其字符串中某个字母的内容
a = 'asdfg' print(id(a)) a = 'asdfa' print(id(a))
以下是输出:
2271521919696
2271521919864
可变类型(列表、字典、可变集合):
a = [1,2,3] b = [1,2,3] print(id(a)) print(id(b)) 输出: 1989955870344 1989955870280 a[0] = 4 print(id(a))s
输出:
1989955870344
本文深入探讨了Python中的不可变类型(如数字、字符串、元组)和可变类型(如列表、字典)。不可变类型在Python中具有独特的内存管理方式,而可变类型则允许直接修改其内容。文章通过代码示例展示了不同类型在内存分配和修改方面的差异。
931

被折叠的 条评论
为什么被折叠?



