Документы Sphinx для составных типов данных

Существует ли в Sphinx стандарт или наилучшая практика для предоставления более точных спецификаций для составных типов данных Python? Например, у меня есть функция, которая возвращает dict отображение str в str и использую numpydoc стиль. Должен ли я сделать что-то вроде:

Returns
-------
out : dict of str to str

или возможно dict of str: str?

Для списков, где тип контента известен, я заметил, что NumPy использует формат

foo : list of int

Есть ли стандарт или лучшая практика, которой следует следовать в этом общем случае?

1 ответ

Я не уверен, что это лучшая практика, но я обычно делаю что-то вроде :returns: dict( str=str ), Я думаю, что это действительно то, что лучше всего подходит для вас и вашего проекта. Если вы используете что-то вроде PyCharm, он порекомендует "лучший" вариант для ваших строк документации, но он постепенно перестанет рекомендовать что-то, так как он замечает, что вы делаете по-другому. Такие вещи, как PEP8, больше похожи на руководящие принципы (здесь я стараюсь произвести лучшее впечатление от Пиратов Карибского моря), а не на жесткие правила. Самое главное, можете ли вы это прочитать.

Один действительно хороший источник вдохновения - собственная документация Python. Если вы когда-нибудь просматриваете его и видите привлекательную страницу, посмотрите на левую боковую панель и нажмите " Показать исходный код", а затем просто скопируйте этот стиль... Я делаю это все время:)

Старый вопрос, но он по-прежнему был одним из самых популярных при поиске этой информации.

После дополнительных поисков я нашел это в документах Sphinx:

New in version 1.5.

Container types such as lists and dictionaries can be linked automatically using the 
following syntax:

:type priorities: list(int)  
:type priorities: list[int]
:type mapping: dict(str, int) 
:type mapping: dict[str, int]
:type point: tuple(float, float)
:type point: tuple[float, float]
Другие вопросы по тегам