我实在想不出为什么Python需要del关键字(而且大多数语言似乎都没有类似的关键字).例如,无需删除变量,只需将None赋给它即可.当从字典中删除时,可以添加del方法.

在Python中保留del是有原因的吗,还是它是Python在垃圾收集之前的遗迹?

推荐答案

首先,你可以删除除局部变量之外的其他东西

del list_item[4]
del dictionary["alpha"]

这两种方法显然都很有用.其次,在局部变量上使用del可以让意图更清晰.比较:

del foo

foo = None

I know in the case of del foo that the intent is 至 remove the variable from scope. It's not clear that foo = None is doing that. If somebody just assigned foo = None I might think it was dead code. But I instantly know what somebody who codes del foo was trying 至 do.

Python相关问答推荐

仅对matplotlib的条标签中的一个条标签应用不同的格式

如何使用stride_tricks.as_strided逆转NumPy数组

Python Hashicorp Vault库hvac创建新的秘密版本,但从先前版本中删除了密钥

如何让剧作家等待Python中出现特定cookie(然后返回它)?

有没有一种方法可以从python的pussompy比较结果中提取文本?

在np数组上实现无重叠的二维滑动窗口

从一个系列创建一个Dataframe,特别是如何重命名其中的列(例如:使用NAs/NaN)

使用NeuralProphet绘制置信区间时出错

在Django admin中自动完成相关字段筛选

改进大型数据集的框架性能

如何在turtle中不使用write()来绘制填充字母(例如OEG)

如何从需要点击/切换的网页中提取表格?

如何在FastAPI中为我上传的json文件提供索引ID?

AES—256—CBC加密在Python和PHP中返回不同的结果,HELPPP

(Python/Pandas)基于列中非缺失值的子集DataFrame

具有相同图例 colored颜色 和标签的堆叠子图

ModuleNotFoundError:没有模块名为x时try 运行我的代码''

Pandas—堆栈多索引头,但不包括第一列

我可以不带视频系统的pygame,只用于游戏手柄输入吗?''

为罕见情况下的回退None值键入