2 回答
TA贡献1880条经验 获得超4个赞
我设法通过将项目类型提示为以下内容来创建一个肮脏的黑客None:
class Bar:
"""
Bar documentation.
"""
# pylint: disable=no-method-argument,function-redefined,too-few-public-methods
foo: None
@classproperty
def foo():
"""
Retrieve an object.
"""
return NotImplementedError("Argument")
我宁愿避免使用这样的代码,因为由于循环导入问题(因此None),我实际上无法导入应该进行类型提示的项目,但它的技巧pylint很好。
TA贡献1844条经验 获得超8个赞
据我所知,这是不可能的。
我还没有找到在pylint的配置中解决这个问题的方法。我能找到的最接近的是选项property-classes,但它只影响invalid-name检查器,所以不是我们在这里寻找的:
:property-classes:
List of decorators that produce properties, such as abc.abstractproperty. Add
to this list to register other decorators that produce valid properties.
These decorators are taken in consideration only for invalid-name.
Default: ``abc.abstractproperty``
也许这是一个值得直接询问pylint的开发人员的问题。
在我看来,它可以通过转换插件来解决(也许这是为了灵感?)。Pylint可以很好地处理@property
装饰器,所以像这里建议的那样@classproperty
,也应该是可行的。
添加回答
举报