使用 pylint 重新定义函数

问题描述 投票:0回答:1

我的文件/模块顶部有以下内容,说明了如何定义各种类型(有点像 C 文件中的声明):

Env = dict  # The Interpreter environment is a map of {key: value}

然后在代码的实际内容中,我重新定义了

Env
,如下所示:

class Env(dict):
    "An environment dict, containing the parent Env (or None) where created."
    def __init__(self, parent=None):
        self.parent = parent
    # etc.

Pylint 给了我以下警告:

函数重新定义:类已定义第 16 行

我理解为什么要这样做,但在上述情况下这是故意的。建议的处理方法是什么?做类似下面的事情似乎是最权宜的方法(但是如果我应用这种“让我们在这里解雇这个”哲学,我发现我的文件每隔一行都散布着所有这些评论),但是在这种特殊情况下,有人会建议什么?

class Env(dict): # pylint: disable=function-redefinition

另外,做

# pylint:
的事情叫什么名字? (评论/注释/Pragma/?)


此外,这里有一个关于

mypy
中类型重新定义的有用线程:https://github.com/python/mypy/issues/1191.

python lint pep8
1个回答
0
投票

看起来这是一个例外,因此禁用它是有意义的。您需要添加以下内容:

# pylint: disable=function-redefined

注意,这不是“函数重定义”,而是“函数重定义”。

您可以按照您的建议添加注释,以便它仅适用于这种情况,或者添加到 python 文件的顶部,以便它适用于整个文件。

© www.soinside.com 2019 - 2024. All rights reserved.