Как заставить ерша понимать атрибут как «защищенный» в Python?Python

Программы на Python
Anonymous
Как заставить ерша понимать атрибут как «защищенный» в Python?

Сообщение Anonymous »

Я пытаюсь использовать что-то похожее на защищенный атрибут в Python и использую ruff в качестве линтера. Конечно, я знаю, что Python не является языком, который поддерживает защиту доступа, но в Ruff есть правило проверки SLF001, которое я считаю действительно практичным и которое я хотел бы использовать.
Обычно мне хотелось бы, чтобы мои линтер будет вести себя так

Код: Выделить всё

class MyClass:
def __init__(self, value: int):
self._value = value

def is_lt(self, other: "MyClass") -> bool:
return self._value < other._value  # Does not raise lint errors

a = MyClass(3)
print(a._value)  # Raises lint errors

У меня проблема в том, что правило ruff SLF001 вызывает ошибку для кода в методе is_lt, если я бы не хотел, чтобы ошибка возникала.
Конечно, я думал об отключении правила глобально, но ошибка в случае print(a._value) не будет устранена, и это не то, что я ищу.На данный момент лучшее решение, которое я нашел, — это локально отключить правило в строке return self._value

Подробнее здесь: https://stackoverflow.com/questions/783 ... -in-python

Вернуться в «Python»