有没有办法保护python中的内置函数?

时间:2014-11-28 14:56:56

标签: python built-in

我的问题来自this question,其中一位用户因不知不觉地重新绑定内置全局set而感到困惑。有没有一种简单的方法让python在你试图覆盖内置函数时发出警告?

我更专注于Mathematica。在Mathematica中,所有内置函数都具有属性Protected。如果您尝试重新定义Set,它会告诉您SetProtected并保持不变,以后可能会让您免于大量混乱,因为应该工作的事情会停止没有明显的原因。如果你真的非常想重新定义Set,你仍然可以这样做 - 你必须首先Unprotect。您也可以Protect使用自己的符号来保护它们免受意外重新定义。

也许经验丰富的pythoners不需要这个,但如果像我这样的新手有这样的东西会很好。 (想想看,我已经为Mathematica编程了15年,Protected偶尔也会保存我的培根。)

1 个答案:

答案 0 :(得分:4)

使用http://www.pylint.org/

def set():
    pass

会生成此警告:

  

[W0622,set]重新定义内置'设置'

您可以在编写文件后在文件上运行它,或者在文件中使用它。 Vim,你去。大多数IDE也会生成这种信息