第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將函數(shù)簽名與文檔字符串進行比較的工具

將函數(shù)簽名與文檔字符串進行比較的工具

慕尼黑8549860 2023-07-11 14:51:23
是否有工具可以檢查文檔字符串中列出的參數(shù)是否與函數(shù)調(diào)用的簽名匹配?它應(yīng)該能夠處理 numpy 風(fēng)格的文檔字符串。我經(jīng)常使用 R CMD CHECK,它可以發(fā)現(xiàn) R 中的文檔/代碼不匹配,這非常有幫助。如果 Python 中有類似的東西那就太好了,但我還沒有找到任何東西。
查看完整描述

3 回答

?
PIPIONE

TA貢獻1829條經(jīng)驗 獲得超9個贊

我剛剛創(chuàng)建了一個工具來實現(xiàn)這一目標(biāo),稱為pydoctest.

它將嘗試推斷文檔字符串中的類型(不僅僅是詞法比較)并報告參數(shù)數(shù)量、參數(shù)名稱、參數(shù)類型、返回類型之間的不匹配,(可選)如果缺少文檔字符串等則拋出錯誤。

它目前支持 google、sphinx 和 numpy 文檔字符串格式,但可以很容易地使用其他格式進行擴展。

例子:

def func_type_mismatch(self, a: int) -> int:

? ? """[summary]


? ? Args:

? ? ? ? a (float): [description]? ? ? ? <-- float is not int


? ? Returns:

? ? ? ? int: [description]

? ? """

? ? pass

在此函數(shù)上運行 pydoctest 會給出以下輸出:

Function: <function IncorrectTestClass.func_type_mismatch at 0x7f9a8b52c8c8> FAIL | Argument type differ. Argument 'a' was expected (from signature) to have type '<class 'int'>', but has (in docs) type '<class 'float'>'

http://img4.sycdn.imooc.com/64acfc1e000103e805990372.jpg

查看完整回答
反對 回復(fù) 2023-07-11
?
動漫人物

TA貢獻1815條經(jīng)驗 獲得超10個贊

pip install docsig

然后運行docsig .它就會為你檢查這一點

/path/to/project

-----------------------

def function(?*args) -> ?List[str]:

? ? """...


? ? :param None: ?

? ? :return: ?

? ? """


E103: parameters missing

目前還有8個錯誤


查看完整回答
反對 回復(fù) 2023-07-11
?
BIG陽

TA貢獻1859條經(jīng)驗 獲得超6個贊

除了其他答案中提到的pydoctest和docsig之外,至少還有這些工具:

  • pydoclint與?pydocstyle或ruff一起使用

  • Pylint 的docparams 擴展

  • flake8-文檔字符串-完整

  • darglit2(對于大型項目來說速度慢得驚人)


查看完整回答
反對 回復(fù) 2023-07-11
  • 3 回答
  • 0 關(guān)注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號