dongnan
总版主
总版主
  • 粉丝52
  • 发帖数2165
  • 铜币13236枚
  • 威望5838点
  • 银元150个
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 原创写手
阅读:714回复:0

[python] 查看 python 中变量内存地址

楼主#
更多 发布于:2017-06-22 10:29
目标
1. 查看 python 中的变量 内存地址;
2. 了解不可变序列(字符串) 与 可变序列(列表)的区别;

字符串
>>> a = '123'
>>> b = a
>>> id(a)
140549666125624
>>> id(b)
140549666125624
>>> a = '456'
>>> print a,id(a)
456 140549666125504
>>> print b,id(b)
123 140549666125624

列表
>>> lista = ['a']
>>> listb = lista
>>> lista[0] = 'b'
>>> print lista,id(lista)
['b'] 140549696580064
>>> print listb,id(listb)
['b'] 140549696580064

帮助
id(...)
    id(object) -> integer
    
    Return the identity of an object.  This is guaranteed to be unique among
    simultaneously existing objects.  (Hint: it's the object's memory address.)

小结
1. 字符串,列表,都是序列,但前者是不可变序列,而后者是可变序列;
2. '字符串b' 虽然赋值 '字符串a' 相同的值,但是在 '字符串a' 更改值后,两个字符串的地址不再相同;
3. 列表,则与字符串相反,'列表a' 与 '列表b' 均指向同一个内存地址,即使 '列表a' 更改值以后,仍然如此。

#
游客

返回顶部