x=[1,2,3,4]
y=x
y[0]=5
print(x)
print(y)
为什么令y【0】=5后x[0]也=5了呢?
python中的变量赋值声明并不会复制一份元数据,而是创建了一个新的引用指向同一份数据,
类似java的引用和C++的指针,所以改变y中数据会影响x。
要实现x和y互不影响,可以使用:
1. y = x[:]
2. y = list(x)
3. y = copy.copy(x)
4. y = copy.deepcopy(x)
作用:在不增加对象的引用计数个数的情况下获得对象的引用
实际中有什么用暂时还不是很清楚,以后再补充。
#coding:gbk
'''
Created on 2014年6月14日
@author: zhoucl09164
'''
class A():
def del(self):
&......
答案就在这里:python的弱引用
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。