pylint 无效名称错误 (C0103) 不遵循 python 约定

pylint invalid name error (C0103) doesn't follow python conventions

我在 class - _expected_substring_result 中有一个私有变量。
这是我模块中的第 26 行,它是我的初始化函数的一部分 - self._expected_substring_result = _expected_substring_result.

这是我从 lint-python 得到的错误 - ..\endpoint.py:26:4: C0103: Attribute name "_expected_substring_result" doesn't conform to '[a-z_][a-z0-9_]{0,30}$' pattern (invalid-name).

这没有意义 - python 中的私有字段应该以下划线开头。
我知道如何通过编辑 linter 配置或添加 # pylint: disable=invalid-name 来修复它。但这似乎是一个太奇怪的问题,以至于 pylint 开发者忘记了。

这是一个错误,还是我遗漏了什么?
谢谢,

您可以使用 --attr-rgx 选项为 pylint 提供您用于属性名称的格式。例如,属性可能以两个下划线开头:

pylint --attr-rgx=_?_?[a-z0-9]+(_[a-z]+)*_?_?$ ...

可以定义几个这样的命名方案:对于 class 名称,对于模块名称,...

您也可以编辑 pylintrc 文件来更改此参数。

pylint 3.0.0-a4 在下面的代码片段中没有发现您的错误。 请提供您的 __init__ 以供进一步调查:)

class Hi:
    def __init__(self, _expected_substring_result):
        self._expected_substring_result = _expected_substring_result