2 回答

TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊
我設(shè)法通過(guò)將項(xiàng)目類型提示為以下內(nèi)容來(lái)創(chuàng)建一個(gè)骯臟的黑客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")
我寧愿避免使用這樣的代碼,因?yàn)橛捎谘h(huán)導(dǎo)入問(wèn)題(因此None),我實(shí)際上無(wú)法導(dǎo)入應(yīng)該進(jìn)行類型提示的項(xiàng)目,但它的技巧pylint很好。

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊
據(jù)我所知,這是不可能的。
我還沒(méi)有找到在pylint的配置中解決這個(gè)問(wèn)題的方法。我能找到的最接近的是選項(xiàng)property-classes,但它只影響invalid-name檢查器,所以不是我們?cè)谶@里尋找的:
: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``
也許這是一個(gè)值得直接詢問(wèn)pylint的開(kāi)發(fā)人員的問(wèn)題。
在我看來(lái),它可以通過(guò)轉(zhuǎn)換插件來(lái)解決(也許這是為了靈感?)。Pylint可以很好地處理@property
裝飾器,所以像這里建議的那樣@classproperty
,也應(yīng)該是可行的。
添加回答
舉報(bào)