问题标签 [del]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3526 浏览

python - python如何关闭已被gc'ed的文件?

我一直认为如果打开而不关闭文件会泄漏,但我只是验证了如果输入以下代码行,文件将关闭:

纯粹出于好奇,这是如何工作的?我注意到该文件不包含__del__方法。

0 投票
3 回答
1861 浏览

python - sys.getrefcount 延续

链接文本

我得到了引用计数的概念

因此,当我执行“del astrd”时,引用计数降至零并且 astrd 被 gc 收集?

这是示例代码。我在昨天的问题之后开发的这些代码:链接文本

一个.py:

定义 abc():

二.py:

三.py:

我在three.py 中所做的是否正确?是否有任何不必要的步骤?如果是,为什么?

请帮我解决这个问题。

0 投票
8 回答
104362 浏览

python - python,del或delattr哪个更好?

这可能很愚蠢,但它已经在我的大脑后面唠叨了一段时间。

Python 为我们提供了两种从对象中删除属性的内置方法,del命令字和delattr内置函数。我更喜欢delattr,因为我认为它更明确一点:

但我想知道它们之间是否存在内部差异。

0 投票
2 回答
1295 浏览

python - Eclipse+Pydev:按下“停止”时不调用“清理”函数?

试图在eclipse中运行这个文件

并且在不让程序完成的情况下按下停止按钮不会打印“1”,即永远不会调用 del 方法。如果我尝试从 shell 运行脚本并执行 ctrl-c\sys.exit "1" 确实会打印出来,即调用 del。如果我尝试使用 wait(),同样的事情:

如果我在提示时按“停止”,则不会打印“3”

这是为什么?有办法解决吗?

谢谢,诺姆

0 投票
2 回答
2659 浏览

python - __del__ 方法在 python 中被调用而不是预期的

我是 python 新手,一直在研究 Swaroop CH 的“A Byte of Python”中的示例。我看到一些__del__让我困惑的方法的行为。

基本上,如果我运行以下脚本(在 Python 2.6.2 中)

使用 Python 控制台(或 Spyder 交互式控制台)我看到以下内容:

execfile(u'C:\1_eric\Python\test1.py')
初始化 Swaroop
初始化 Kalem

execfile(u'C:\1_eric\Python\test1.py')
Initializing Swaroop
Swaroop 说再见
我是最后一个
Initializing Kalem
Kalem 说再见
我是最后一个

为什么在第二次运行__del__之后立即调用该方法__init__
我猜测由于使用了相同的实例名称('swaroop' 和'kaleem'),它正在释放原始实例并对其进行垃圾收集。但是,这似乎对当前的人口数量造成了严重破坏。

这里发生了什么?
避免这种混乱的好方法是什么?
避免使用__del__? 在重用它们之前检查现有的实例名称?...

谢谢,埃里克

0 投票
3 回答
159 浏览

python - 删除实例时删除属性

A类:def __get(self):返回self._x

0 投票
3 回答
23648 浏览

python - 如何在 Python 中删除对象的每个引用?

假设你有类似的东西:

如何删除只有一个引用的对象,比如 x?

del x不会成功的;例如,该对象仍然可以从 b 到达。

0 投票
1 回答
402 浏览

python - 使用 PyFlakes 和 del 运算符

在 Python 函数中使用 del 时,我从 PyFlakes 得到误报,告诉我该变量未定义。

上述函数将返回以下错误:

即使该功能将起作用。有谁知道调整 ast 树解析以改变其处理方式的补丁?如果这是其他人遇到的事情?

0 投票
2 回答
6518 浏览

python - 在 Python 中,使用 `del` 语句是代码异味吗?

每当我处理原型脚本时,我倾向于使用它,并且:

  1. 使用一些常见的变量(例如fileCount),并且
  2. 有一个大方法(20+ 行),并且
  3. 暂时不要使用类或命名空间。

在这种情况下,为了避免潜在的变量冲突,我一完成就删除了这个虫子。我知道,在生产代码中我应该避免使用 1.、2. 和 3.,但是从可以工作的原型到完全完善的类是耗时的。有时我可能想满足于一个次优的、快速的重构工作。在那种情况下,我发现把这些del陈述放在手边。我是否正在养成一种不必要的坏习惯?del完全可以避免吗?什么时候会是好事?

0 投票
3 回答
9437 浏览

python - Python:从嵌套列表中删除单个元素

我无法弄清楚如何从嵌套列表中删除某些内容。

例如,如何从以下列表中删除“x”?

我试过del lst[0][0]了,但我得到以下结果:

TypeError:“str”对象不支持删除项目。

我也尝试了一个 for 循环,但得到了同样的错误: