问题标签 [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.
python - python如何关闭已被gc'ed的文件?
我一直认为如果打开而不关闭文件会泄漏,但我只是验证了如果输入以下代码行,文件将关闭:
纯粹出于好奇,这是如何工作的?我注意到该文件不包含__
del__
方法。
python - python,del或delattr哪个更好?
这可能很愚蠢,但它已经在我的大脑后面唠叨了一段时间。
Python 为我们提供了两种从对象中删除属性的内置方法,del命令字和delattr内置函数。我更喜欢delattr,因为我认为它更明确一点:
但我想知道它们之间是否存在内部差异。
python - Eclipse+Pydev:按下“停止”时不调用“清理”函数?
试图在eclipse中运行这个文件
并且在不让程序完成的情况下按下停止按钮不会打印“1”,即永远不会调用 del 方法。如果我尝试从 shell 运行脚本并执行 ctrl-c\sys.exit "1" 确实会打印出来,即调用 del。如果我尝试使用 wait(),同样的事情:
如果我在提示时按“停止”,则不会打印“3”
这是为什么?有办法解决吗?
谢谢,诺姆
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
初始化 Kalemexecfile(u'C:\1_eric\Python\test1.py')
Initializing Swaroop
Swaroop 说再见
我是最后一个
Initializing Kalem
Kalem 说再见
我是最后一个
为什么在第二次运行__del__
之后立即调用该方法__init__
?
我猜测由于使用了相同的实例名称('swaroop' 和'kaleem'),它正在释放原始实例并对其进行垃圾收集。但是,这似乎对当前的人口数量造成了严重破坏。
这里发生了什么?
避免这种混乱的好方法是什么?
避免使用__del__
? 在重用它们之前检查现有的实例名称?...
谢谢,埃里克
python - 删除实例时删除属性
A类:def __get(self):返回self._x
python - 如何在 Python 中删除对象的每个引用?
假设你有类似的东西:
如何删除只有一个引用的对象,比如 x?
del x
不会成功的;例如,该对象仍然可以从 b 到达。
python - 使用 PyFlakes 和 del 运算符
在 Python 函数中使用 del 时,我从 PyFlakes 得到误报,告诉我该变量未定义。
上述函数将返回以下错误:
即使该功能将起作用。有谁知道调整 ast 树解析以改变其处理方式的补丁?如果这是其他人遇到的事情?
python - 在 Python 中,使用 `del` 语句是代码异味吗?
每当我处理原型脚本时,我倾向于使用它,并且:
- 使用一些常见的变量(例如
fileCount
),并且 - 有一个大方法(20+ 行),并且
- 暂时不要使用类或命名空间。
在这种情况下,为了避免潜在的变量冲突,我一完成就删除了这个虫子。我知道,在生产代码中我应该避免使用 1.、2. 和 3.,但是从可以工作的原型到完全完善的类是耗时的。有时我可能想满足于一个次优的、快速的重构工作。在那种情况下,我发现把这些del
陈述放在手边。我是否正在养成一种不必要的坏习惯?del
完全可以避免吗?什么时候会是好事?
python - Python:从嵌套列表中删除单个元素
我无法弄清楚如何从嵌套列表中删除某些内容。
例如,如何从以下列表中删除“x”?
我试过del lst[0][0]
了,但我得到以下结果:
TypeError:“str”对象不支持删除项目。
我也尝试了一个 for 循环,但得到了同样的错误: