@@ -125,7 +125,7 @@ x,y对应着两个不同对象,的确如此。但这个对象(字典)是
125125
126126这个事实,就说明了为什么修改一个列表,另外一个也跟着修改;而修改一个的字符串,另外一个不跟随的原因了。
127127
128- 但是,似乎还没有解开深层的原因。深层的原因,是跟python存储的数据类型特点有关 ,python只存储基本类型的数据,比如int,str,对于不是基础类型的,比如刚才字典的值是列表,python不会在被复制的那个对象中从新存储 ,而是用引用的方式,指向原来的值。如果读者没有明白这句话的意思,我就只能说点通俗的了(我本来不想说通俗的,装着自己有学问),python在所执行的复制动作中,如果是基本类型的数据,就在内存中从新建个窝 ,如果不是基本类型的,就不新建窝了,而是用标签引用原来的窝。这也好理解,如果比较简单,随便建立新窝简单;但是,如果对象太复杂了,就别费劲了,还是引用一下原来的省事。(这么讲有点忽悠了)。
128+ 但是,似乎还没有解开深层的原因。深层的原因,这跟python存储的数据类型特点有关 ,python只存储基本类型的数据,比如int,str,对于不是基础类型的,比如刚才字典的值是列表,python不会在被复制的那个对象中重新存储 ,而是用引用的方式,指向原来的值。如果读者没有明白这句话的意思,我就只能说点通俗的了(我本来不想说通俗的,装着自己有学问),python在所执行的复制动作中,如果是基本类型的数据,就在内存中重新建个窝 ,如果不是基本类型的,就不新建窝了,而是用标签引用原来的窝。这也好理解,如果比较简单,随便建立新窝简单;但是,如果对象太复杂了,就别费劲了,还是引用一下原来的省事。(这么讲有点忽悠了)。
129129
130130所以,在编程语言中,把实现上面那种拷贝的方式称之为“浅拷贝”。顾名思义,没有解决深层次问题。言外之意,还有能够解决深层次问题的方法喽。
131131
@@ -317,7 +317,7 @@ get的含义是:
317317 D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
318318 If key is not found, d is returned if given, otherwise KeyError is raised
319319
320- ` D.pop(k[,d]) ` 是以字典的键为参数,删除指定键的键值对,当然,如果输入对应的值有可以 ,那个是可选的。
320+ ` D.pop(k[,d]) ` 是以字典的键为参数,删除指定键的键值对,当然,如果输入对应的值也可以 ,那个是可选的。
321321
322322 >>> dd
323323 {'lang': 'python', 'web': 'www.itdiffer.com', 'name': 'qiwsir'}
@@ -383,7 +383,7 @@ get的含义是:
383383
384384###update
385385
386- ` update() ` ,看名字就猜测到一二了,不是更新字典内容呢 ?的确是。
386+ ` update() ` ,看名字就猜测到一二了,是不是更新字典内容呢 ?的确是。
387387
388388 update(...)
389389 D.update([E, ]**F) -> None. Update D from dict/iterable E and F.
0 commit comments