ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

关于Python docstring几种主流风格

2021-07-25 11:29:34  阅读:283  来源: 互联网

标签:Google bar Python docstring param 几种 return 格式 first


今天在整理Python文档的时候,发现除了目前在用的如下格式外,还有很多种。就简单整理一下。

def foo(bar: str) -> str:
    """
    foo function
    
    :param str bar: bar
    :return: return bar
    :rtype: str
    """
    return bar

目前流行的格式有如下几种,我之前用的属于reST,是目前最广泛的一种方式,是Sphinx原生支持的格式。还有Epytext,好像是从Java那来的。如果你在Swagger Codegen上生成过Python 代码会发现其中的格式也是reST。还有一种比较流行的是Google自家用的格式,貌似更简洁一些,格式可以参考这里。Numpy团队在Google的基础上搞了一套格式,参考这里

Epytext

"""
This is a javadoc style.

@param param1: this is a first param
@param param2: this is a second param
@return: this is a description of what is returned
@raise keyError: raises an exception
"""

reST

"""
This is a reST style.

:param param1: this is a first param
:param param2: this is a second param
:returns: this is a description of what is returned
:raises keyError: raises an exception
"""

Google

"""
This is an example of Google style.

Args:
    param1: This is the first param.
    param2: This is a second param.

Returns:
    This is a description of what is returned.

Raises:
    KeyError: Raises an exception.
"""

Numpydoc

"""
My numpydoc description of a kind
of very exhautive numpydoc format docstring.

Parameters
----------
first : array_like
    the 1st param name `first`
second :
    the 2nd param
third : {'value', 'other'}, optional
    the 3rd param, by default 'value'

Returns
-------
string
    a value in a string

Raises
------
KeyError
    when a key error
OtherError
    when an other error
"""

参考:
https://stackoverflow.com/a/24385103/7151777

最后,想抱Google的大腿了,但是工作量巨大。。。后悔没在一开始就选好T T

标签:Google,bar,Python,docstring,param,几种,return,格式,first
来源: https://blog.csdn.net/MacwinWin/article/details/119078830

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有