|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
|
|