如何在 pycharm 方法中抑制警告 "Access to protected member"?

How to suppress warning "Access to protected member" in pycharm method?

我有一些class

class A(object):
    def __init__(self, data):
        self._data = data
    def _equals(self, other):
        return self._data == other._data

Pycharm 不喜欢我访问 other._data 因为它是私有的。

"Access to protected member"

这对我来说没有意义,因为访问是从 class.

内部进行的

如何抑制此警告或编写正确的代码?

如果真的需要,点赞namedlist's ._asdict(), the answer is :

class A(object):
    def __init__(self, data):
        self._data = data
    def _equals(self, other):
        # noinspection PyProtectedMember
        return self._data == other._data

Python 3.5+ 答案(引入类型提示):

from __future__ import annotations


class A(object):
    def __init__(self, data):
        self._data = data

    def _equals(self, other: A):
        return self._data == other._data

使用@Giacomo Alzetta 建议的类型提示,并允许使用 from __future__ import annotations.

类型提示 class 本身

无需再破解 PyCharm 或写难看的评论。


正如@jonrsharpe 所指出的,python 2 also supports type hints 通过文档字符串。
我不会post这里因为我支持Python 2失去支持。