今天我正面临一个有关内置函数min()的奇怪的bug。 我注意到在程序执行过程中被重写,所以当min()被覆盖(print(min.__module__)
),并且我得到了 UnboundLocalError:之前引用的局部变量'min'时,我开始寻找堆栈的每个函数分配 我仍然在调试并在提交之间来回检查是什么导致问题。程序依赖于不同的模块,但模块与程序最后一次成功相同。如何删除python builtins? min()在某个函数被调用时消失
我想知道,如何删除内建的“min”?我相信我还没有用这个名字声明任何变量,即使我有了,错误也会不同。 del min
应该还原内置(但对我来说,我得到上述错误) 内建 [“分钟”]工作(在3个系统,我试过2)
的这怎么可能知道吗?
**“解决方案很简单,不要那样做。“**一个真正的程序员 - 即使他的答案是超级可重用的! DRY确实 – 2015-02-06 00:32:16
@kindall第三种情况可能类似于将min(a,b)作为参数传递给函数(可能会修改其参数)或作为字典的值?我确信我没有拿起这个名字,我甚至在项目的所有文件中都搜索过它! – lib 2015-02-06 00:44:54
不应该。只发布实际发生错误的函数的代码将有助于我们将其锁定。 – kindall 2015-02-06 00:46:09