亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用Sphinx給Python代碼寫文檔

發布時間:2021-10-26 17:35:38 來源:億速云 閱讀:161 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關怎么使用Sphinx給Python代碼寫文檔,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Python 代碼可以在源碼中包含文檔。這種方式默認依靠 docstring,它以三引號格式定義。雖然文檔的價值是很大的,但是沒有充足的文檔的代碼還是很常見。讓我們演練一個場景,了解出色的文檔的強大功能。

經歷了太多在白板技術面試上要求你實現斐波那契數列,你已經受夠了。你回家用 Python 寫了一個可重用的斐波那契計算器,使用浮點技巧來實現 O(1) 復雜度。

代碼很簡單:

# fib.pyimport math _SQRT_5 = math.sqrt(5)_PHI = (1 + _SQRT_5) / 2 def approx_fib(n):    return round(_PHI**(n+1) / _SQRT_5)

(該斐波那契數列是四舍五入到最接近的整數的幾何序列,這是我最喜歡的鮮為人知的數學事實之一。)

作為一個好人,你可以將代碼開源,并將它放在 PyPI 上。setup.py 文件很簡單:

import setuptools setuptools.setup(    name='fib',    version='2019.1.0',    description='Fibonacci',    py_modules=["fib"],)

但是,沒有文檔的代碼是沒有用的。因此,你可以向函數添加 docstring。我最喜歡的 docstring 樣式之一是 “Google” 樣式。標記很輕量,當它放在源代碼中時很好。

def approx_fib(n):    """    Approximate Fibonacci sequence     Args:        n (int): The place in Fibonacci sequence to approximate     Returns:        float: The approximate value in Fibonacci sequence    """    # ...

但是函數的文檔只是成功的一半。普通文檔對于情境化代碼用法很重要。在這種情況下,情景是惱人的技術面試。

有一種添加更多文檔的方式,專業 Python 人的方式通常是在 docs/ 添加 rst 文件( reStructuredText 的縮寫)。因此 docs/index.rst 文件最終看起來像這樣:

Fibonacci========= Are you annoyed at tech interviewers asking you to implementthe Fibonacci sequence?Do you want to have some fun with them?A simple:code:`pip install fib`is all it takes to tell them to,um,fib off. .. automodule:: fib   :members:

我們完成了,對吧?我們已經將文本放在了文件中。人們應該會看的。

使 Python 文檔更漂亮

為了使你的文檔看起來更漂亮,你可以利用 Sphinx,它旨在制作漂亮的 Python 文檔。這三個 Sphinx 擴展特別有用:

  • sphinx.ext.autodoc:從模塊內部獲取文檔

  • sphinx.ext.napoleon:支持 Google 樣式的 docstring

  • sphinx.ext.viewcode:將 ReStructured Text 源碼與生成的文檔打包在一起

為了告訴 Sphinx 該生成什么以及如何生成,我們在 docs/conf.py 中配置一個輔助文件:

extensions = [    'sphinx.ext.autodoc',    'sphinx.ext.napoleon',    'sphinx.ext.viewcode',]# 該入口點的名稱,沒有 .rst 擴展名。# 慣例該名稱是 indexmaster_doc = "index"# 這些值全部用在生成的文檔當中。# 通常,發布(release)與版本(version)是一樣的,# 但是有時候我們會有帶有 rc 標簽的發布。project = "Fib"copyright = "2019, Moshe Zadka"author = "Moshe Zadka"version = release = "2019.1.0"

此文件使我們可以使用所需的所有元數據來發布代碼,并注意擴展名(上面的注釋說明了方式)。最后,要確保生成我們想要的文檔,請使用 Tox 管理虛擬環境以確保我們順利生成文檔:

[tox]# 默認情況下,`.tox` 是該目錄。# 將其放在非點文件中可以從# 文件管理器或瀏覽器的# 打開對話框中打開生成的文檔,# 這些對話框有時會隱藏點文件。toxworkdir = {toxinidir}/build/tox [testenv:docs]# 從 `docs` 目錄內運行 `sphinx`,# 以確保它不會拾取任何可能進入頂層目錄下的# 虛擬環境或 `build/` 目錄下的其他工件的雜散文件。changedir = docs# 唯一的依賴關系是 `sphinx`。# 如果我們使用的是單獨打包的擴展程序,# 我們將在此處指定它們。# 更好的做法是指定特定版本的 sphinx。deps =    sphinx# 這是用于生成 HTML 的 `sphinx` 命令。# 在其他情況下,我們可能想生成 PDF 或電子書。commands =    sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html# 我們使用 Python 3.7。# Tox 有時會根據 testenv 的名稱嘗試自動檢測它,# 但是 `docs` 沒有給出有用的線索,因此我們必須明確它。basepython = python3.7

現在,無論何時運行 Tox,它都會為你的 Python 代碼生成漂亮的文檔。

在 Python 中寫文檔很好

作為 Python 開發人員,我們可以使用的工具鏈很棒。我們可以從 docstring 開始,添加 .rst 文件,然后添加 Sphinx 和 Tox 來為用戶美化結果。

關于“怎么使用Sphinx給Python代碼寫文檔”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴海县| 黔东| 苏尼特右旗| 玉环县| 南召县| 永平县| 榆树市| 景宁| 阜宁县| 杂多县| 泰兴市| 门源| 昭苏县| 阜阳市| 合江县| 桓仁| 德州市| 新津县| 民乐县| 彰化县| 威宁| 大港区| 红桥区| 河西区| 西盟| 万全县| 阿克| 汝州市| 松溪县| 大石桥市| 嘉定区| 教育| 张家界市| 聊城市| 合作市| 舞阳县| 沙雅县| 大冶市| 陕西省| 宣城市| 石门县|