如何在 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失去支持。
我有一些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
.
无需再破解 PyCharm 或写难看的评论。
正如@jonrsharpe 所指出的,python 2 also supports type hints 通过文档字符串。
我不会post这里因为我支持Python 2失去支持。