在子类中覆盖“标准”方法时,pylint W0622(重新定义内置函数)

时间:2019-05-09 09:39:37

标签: python coding-style warnings pylint software-quality

在Python中,许多方法使用“标准化”名称定义参数变量,例如:

def __exit__(self, type, value, traceback):

在上面的行中,变量 type 导致pylint警告(W0622)正在重新定义内置的:重新定义内置的'type'(redefined-builtin)

有很多方法可以解决此问题,并使pylint满意(重命名变量,添加pylint指令(#pylint:disable = W0622 )以忽略该问题,等等。)

在这些情况下,保持良好的代码质量并使pylint感到满意的最佳/首选/建议/建议/常规使用方式是什么?

1 个答案:

答案 0 :(得分:1)

禁用pylint警告可能是一种不好的做法。

引用quantifiedcode.com

  

为使---正常工作,它必须具有三个自变量:exception_type,exception_value和traceback。方法定义中的形式参数名称不必直接与这些名称相对应,但必须按此顺序出现。

如此好的选择可能是使用元组包装Expected a single document in the stream but found more

此正式文档中建议的内容: https://docs.python.org/3/library/contextlib.html