>>> f() # 创建第一个 list,执行结束后放回对象池 1972051153672 >>> b = [1,2,3] #创建第二个 list, 从对象池中取出最新放入的对象并使用,使用和第一个 list 相同的内存 # 如果在这里输出 b 的 id 会发现和上面是一样的 >>> f() # 创建第三个 list,使用新的内存 1972041661768 # 结果不一样 >>> del b # 放回第二个 list >>> f() # 创建第四个 list,使用和第一、二个 list 相同的内存 1972051153672 >>> c = 1 # 创建一个 int 对象 >>> f() # 创建第五个 list,和第四个 id 相同,说明 int 不影响 list 的内存池 1972051153672 >>> del c >>> f() # 同样不影响 1972051153672
21grams
2017-06-18 17:39:14 +08:00
文档上不是写的很清楚吗? 你这个明显是 non-overlapping lifetimes: id(object) Return the “ identity ” of an object. This is an integer (or long integer) which is guaranteed to be unique and constant for this object during its lifetime. Two objects with non-overlapping lifetimes may have the same id() value.
第 1 页 / 共 1 页
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。