求解释
3. 请问下面代码中,del d 这个语句,是单独删除 d 变量还是将 d 变量和其指定的字典一起干掉呢?d = dict.fromkeys("Fish", 250)
del d
答:显然是一起干掉,渣都不剩~# 对此我存疑
但是
>>> d = dict.fromkeys("Fish", 250)
>>> a = d # 这里我理解为将变量b的引用拷贝给变量a
>>> del d
>>> d
Traceback (most recent call last):
File "<pyshell#44>", line 1, in <module>
d
NameError: name 'd' is not defined
>>> a
{'F': 250, 'i': 250, 's': 250, 'h': 250}
所以我觉得del d只是单独删除变量d,而字典还在,因为通过变量a可以找到这个字典 本帖最后由 jackz007 于 2022-10-11 19:52 编辑
当一个 Python 对象失去句柄的时候,也就失去了存在的价值和意义,因为,这个对象已经无法访问到了,本例中的 a 和 d 就是同一个字典对象句柄的两个标签。删除一个标签并不会删除句柄和对象,只有删除最后一个标签的时候,对象和句柄才会被真正地被删除。
页:
[1]