Pylint W0212保护访问

Jim*_*m K 18 python pylint private-members

在Python中,前缀为一个下划线表示不应在其类之外访问成员.这似乎是基于JavaC++的每个类.

但是,pylint似乎在每个对象的基础上强制执行此约定.有没有办法允许每个类访问而不诉诸#pylint: disable=protected-access

class A:
    def __init__(self):
        self._b = 5

    def __eq__(self, other):
        return self._b == other._b
Run Code Online (Sandbox Code Playgroud)

结果:

pylint a.py
a.py:6: W0212(protected-access) Access to a protected member _b of a client class
Run Code Online (Sandbox Code Playgroud)

Pylint在这里描述了这条消息.

Chr*_*ier 15

pylint不知道哪种类型other(如何,你可以将A的实例与所有内容进行比较),因此警告.我认为没有办法解决警告问题.

您可以仅对该行添加警告,并附# pylint: disable=W0212加到该行.

  • 或者甚至更好的'disable = protected-access`,适用于人类. (15认同)
  • 或者 `# pylint:disable=protected-access` (14认同)