初学python。不可变部类传引用
初学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
>>>