首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

初学python。不可变部类传引用

2013-10-13 
初学python。不可变类型传引用。刚刚学python。问个 笨问题。不可变类型传 是相当于 复制一份。传。a3 ba a5

初学python。不可变类型传引用。
刚刚学python。问个 笨问题。
不可变类型传 是相当于 复制一份。传。

 
 a=3
 b=a
 a=5
 print a # a=5
 print b # b=3


 b接收的 新的拷贝。这很对。但是 不可变类型 怎么传 引用。
 就是 b还是引用 a的地址。
[解决办法]

a = [3]
b = a
b[0]=0
print a[0] #0

[解决办法]
python是万物皆对象,用c的说法就是全指针。对象采用引用计数,所以不是你顶楼那个说法...

>>> import sys
>>> id(3)
35576384
>>> a = 3
>>> id(a)
35576384
>>> sys.getrefcount(3)
113
>>> b = a
>>> id(b)
35576384
>>> sys.getrefcount(3)
114
>>> a = 5
>>> id(a)
35576360
>>> sys.getrefcount(3)
113
>>> 

热点排行