| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
在小甲鱼的视频里举了两个例子,我觉得这两个例子有相互矛盾之处,第一个是清除字典里的数据的时候如果直接赋值,比如a={'小甲鱼'},b=a,然后在让a={},此时输出b,依然会出现b={‘小甲鱼’},但是当用copy函数的时候,小甲鱼说直接赋值不改变id,而copy是改变id的,比如令c=a,然后再在c字典中加入一个元素,那么a相应也会加一个元素,因为id不变嘛,那为什么之前让a={}的时候,b按道理id和a一样,应该也会变成空字典呀,所以这里有点不明白,请教各位大神,谢谢!
打印看一下id 
- a={'小甲鱼'}
 
 - print('a的内存地址',id(a))
 
 - b=a
 
 - c=a.copy()
 
 - print('b的内存地址',id(b))
 
 - print('c的内存地址',id(c))
 
 - a={}
 
 - print('a的内存地址',id(a))
 
 - print('b的值',b)
 
 - print('b的内存地址',id(b))
 
 - print('c的值',c)
 
 - print('c的内存地址',id(c))
 
  复制代码 
a的内存地址 23195800 
b的内存地址 23195800 
c的内存地址 23071624 
a的内存地址 13211560 
b的值 {'小甲鱼'} 
b的内存地址 23195800 
c的值 {'小甲鱼'} 
c的内存地址 23071624  
 
 
 |   
 
 
 
 |