Как подавить предупреждение «Доступ к защищенному члену» в методе pycharm в методе equals ()? - PullRequest
0 голосов
/ 04 июня 2019

У меня есть класс

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

Пихарму не нравится, что я обращаюсь к other._data, потому что он частный.

"Доступ к защищенному члену"

Это не имеет смысла для меня, потому что доступ осуществляется из класса.

Как мне подавить это предупреждение или написать правильный код?

1 Ответ

0 голосов
/ 04 июня 2019

Проблема, с которой вы столкнулись, связана с тем фактом, что other технически совсем не тот же класс. У них одно и то же определение (если они есть, но это не тот же самый экземпляр. Вы можете видеть их как два отдельных черных ящика, поэтому Python ему не нравится.

Самым простым способом решения этой проблемы, который я вижу, является создание открытого доступа к вашей переменной _data, например:

return self._data == other.get_data()

с помощью метода, который просто выполняется:

def get_data():
    return self._data

Вы также можете сделать переменную общедоступной, но я не думаю, что это то, что вы ищете.

...