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

2020年03月23日 06:33:26   [来源:互联网]   [阅读:-]
字体:【

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

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

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



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.

推荐阅读:查找我的iphone在哪里打开


相关新闻
新闻焦点
全民抗疫大战中,如何快速高效将物资送到一线是很多人密切关注的问题。一些企业选择了点对点捐赠,自己找物流,亲自把物资送到了一线医护手中,为抗疫提供[更多]
日前,MaisonMargiela的高定系列发布会上,一双让人摸不着头脑但却还是很有趣的“跨界球鞋”诞生——它是高级时装MaisonMargie[更多]
2月11日,网上一名中年数学老师火了他在家直播授课显然是经验不足,镜头对着鼻孔,美颜开了个满级,在屏幕上呈现出“唇若施脂,面若桃花”直播的时候,[更多]
一、如何进行线下到线上的转化?自从疫情发生以来,全国各地启动了一级响应机制,国家教委也做出了延期开学的决定,并禁止了所有线下上课和培训行为。这一[更多]
关于我们 | 联系我们 | 老版地图 | 网站地图 | 版权声明
版权所有:民生热线未经授权禁止复制或建立镜像
相关作品的原创性、文中陈述文字以及内容数据庞杂本站无法一一核实,如果您发现本网站上有侵犯您的合法权益的内容,请联系我们,本网站将立即予以删除!
中国互联网违法和不良信息举报中心 网络警察报警岗亭