您所在的位置: > 主页 > 成都大讯网 > 商讯 > 正文
Python随笔11:Python代码规范之注释和文档!来源: 日期:2020-11-19 08:06:37  阅读:-

    引言:每天习以为常的Python代码,是否符合Python的规范?想写出Pytonic风格的代码,却不知道如何开始?

    这个“Python代码规范”系列将会解决这些规范性的问题。

    注:本代码规范基于PEP8, 在PEP8的基础上做了一些改动。



    Python随笔11:Python代码规范之注释和文档

    Python代码规范


    注释和文档

    代码注释和文档(docstring)的规范,参考并综合了PEP257、Google Python Style Guide和Numpy的文档标准。


    注释

    • 单行注释和多行注释,请参考Python随笔10:Python代码规范之简明概述
    • 在代码的关键部分(或比较复杂的地方),能写注释的要尽量写注释。
    • 比较重要的注释段,使用多个等号隔开,可以更加醒目,突出重要性。
    app = create_app(name, options)


    # =====================================
    # 请勿在此处添加 get post等app路由行为 !!!
    # =====================================


    if __name__ == '__main__':
    app.run()


    文档注释(Docstring)

    作为文档的Docstring一般出现在模块头部、函数和类的头部,这样在python中可以通过对象的doc对象获取文档。编辑器和IDE也可以根据Docstring给出自动提示。

    • 文档注释以 """ 开头和结尾,首行不换行,如有多行,末行必需换行,以下是Google的docstring风格示例:
    # -*- coding: utf-8 -*-
    """Example docstrings.

    This module demonstrates documentation as specified by the `Google Python
    Style Guide`_. Docstrings may extend over multiple lines. Sections are created
    with a section header and a colon followed by a block of indented text.

    Example:
    Examples can be given using either the ``Example`` or ``Examples``
    sections. Sections support any reStructuredText formatting, including
    literal blocks::

    $ python example_google.py

    Section breaks are created by resuming unindented text. Section breaks
    are also implicitly created anytime a new section starts.
    """
    • 不要在文档注释复制函数定义原型,而是具体描述其具体内容,解释具体参数和返回值等:
    # 不推荐的写法(不要写函数原型等废话)
    def function(a, b):
    """function(a, b) -> list"""
    ... ...


    # 正确的写法
    def function(a, b):
    """计算并返回a到b范围内数据的平均值"""
    ... ...
    • 对函数参数、返回值等的说明采用numpy标准,如下所示:
    def func(arg1, arg2):
    """在这里写函数的一句话总结(如: 计算平均值).

    这里是具体描述.

    参数
    ----------
    arg1 : int
    arg1的具体描述
    arg2 : int
    arg2的具体描述

    返回值
    -------
    int
    返回值的具体描述

    参看
    --------
    otherfunc : 其它关联函数等...

    示例
    --------
    示例使用doctest格式, 在`>>>`后的代码可以被文档测试工具作为测试用例自动运行

    >>> a=[1,2,3]
    >>> print [x + 3 for x in a]
    [4, 5, 6]
    """
    • 文档注释不限于中英文,但不要中英文混用。
    • 文档注释不是越长越好,通常一两句话能把情况说清楚即可。
    • 模块、公有类、公有方法,能写文档注释的,应该尽量写文档注释。

    To be continued.

    (正文已结束)

    免责声明及提醒:此文内容为本网所转载企业宣传资讯,该相关信息仅为宣传及传递更多信息之目的,不代表本网站观点,文章真实性请浏览者慎重核实!任何投资加盟均有风险,提醒广大民众投资需谨慎!