Python中docstring文档的写法
该写法根据Python的PEP 257文档总结。
类的函数称为方法(method),模块里的函数称为函数(function)
- 每一个包,模块,类,函数,方法都应该包含文档,包括类的__init__方法
- 包的文档写在__init__.py文件中
- 文档有单行文档和多行文档
- 单行文档:
- 不要重复函数的声明语句,例如:function(a, b) -> list
- 指明做什么和返回什么,例如Do X and return a list.
- 使用三引号,方便换行
- 多行文档:
- 如果模块是一个脚本,也就是单文件程序,模块的文档应该写明脚本的使用方法
- 模块的文档需要写明包含的类,异常,函数
- 如果是包,在__init__.py中,写明包里面包含的模块,子包
- 如果是函数或类方法,应该写明函数或方法的作用,参数,返回,副作用,异常和调用的限制等
- 如果是类,写明类的行为,和实例参数,构造方法写在__init__中
- 使用三引号,而且两个三引号都应该单独成行
单行例子:
def function(a, b):
"""Do X and return a list."""
多行例子:
def complex(real=0.0, imag=0.0):
"""Form a complex number.
Keyword arguments:
real -- the real part (default 0.0)
imag -- the imaginary part (default 0.0)
"""
if imag == 0.0 and real == 0.0:
return complex_zero
...
未经许可请不要转载。
Python中docstring文档的写法的更多相关文章
- Python中定义文档字符串__doc__需要注意格式对齐的处理
Python中的文档字符串是个很不错的提升代码交付质量.编写文档方便的特征,但是需要注意在使用文档字符串时,将文档字符串标识的引号对必须遵守缩进的规则,否则Python语法检查时会无法通过,而引号内的 ...
- Python中的文档字符串作用
文档字符串是使用一对三个单引号 ''' 或者一对三个双引号 """来包围且没有赋值给变量的一段文字说明(如果是单行且本身不含引号,也可以是单引号和双引号), 它在代码执行 ...
- 使用Python从Markdown文档中自动生成标题导航
概述 知识与思路 代码实现 概述 Markdown 很适合于技术写作,因为技术写作并不需要花哨的排版和内容, 只要内容生动而严谨,文笔朴实而优美. 为了编写对读者更友好的文章,有必要生成文章的标题导航 ...
- 孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档
孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数据库 ...
- Python常用函数--文档字符串DocStrings
Python 有一个甚是优美的功能称作python文档字符串(Documentation Strings),在称呼它时通常会使用另一个短一些的名字docstrings.DocStrings 是一款你应 ...
- 使用Python操作Excel文档(一)
Python | 使用Python操作Excel文档(一) 0 前言 在阅读本文之前,请确保您已满足或可能满足以下条件: 请确保您具备基本的Python编程能力. 请确保您会使用Excel. 请确保您 ...
- Openstack python api 学习文档 api创建虚拟机
Openstack python api 学习文档 转载请注明http://www.cnblogs.com/juandx/p/4953191.html 因为需要学习使用api接口调用openstack ...
- Mongoose在向集合中插入文档时的集合命名问题
Mongoose使用结构化的模式应用到MongoDB集合,为MongoDB Node.js原生驱动程序提供了更多的功能和简化了数据库操作. 从创建连接到向数据库中写入一个条数据经历了以下步骤: 1.连 ...
- python+selenium自动化软件测试(第12章):Python读写XML文档
XML 即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进 行定义的源语言.xml 有如下特征: 首先,它是有标签对组成:<aa></aa> ...
随机推荐
- 【开源项目3】Android快速开源框架--afinal
Afinal简介 Afinal 是一个android的sqlite orm 和 ioc 框架.同时封装了android中的http框架,使其更加简单易用: 使用finalBitmap,无需考虑bitm ...
- Js 实现五级联动
js实现多级联动的方法很多,这里给出⼀种5级联动的例子,其实可以扩展成N级联动,在做项目的时候碰到了这样⼀个问题但是有不能从数据库中动态的加载这些选项,所以只有想办法从单个的页面着手来处理了,应为项目 ...
- 关于ADO.NET 实体数据数据模型无法为Mysql 选择6.0 解决方案
错误:您的项目引用了最新实体框架:但是,找不到数据链接所需的与版本兼容的实体框架数据库....... 图片:
- POJ 2349 Arctic Network (最小生成树)
Arctic Network Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Subm ...
- PL/SQL在win7X 64下安装
oracle11g怎么安装在此不作说明,网上到处都是,主要针对PL/SQL的安装配置 下载地址: PLSQL Developer: http://pan.baidu.com/s/1nt7G4cD X6 ...
- 使用ambari搭建Hadoop平台
1.操作系统 CentoOS Server with GUI(有GUI,有浏览器*ambari基于浏览器*推荐latest stable version)2.分区 默认 + /hadoop3.网络设置 ...
- C#_数组
数组是相同数据类型的元素按一定顺序排列的集合,然后用一个变量名进行命名.新建控制台程序,声明一个静态方法 using System; using System.Collections.Gener ...
- Kettle 连接 oracle
问题1:加载不了驱动 Kettle 不包含jdbc的驱程 所以需要把Ojdbc6.jar 放到 Kettle目录下 4.X: \libext\JDBC 5.x: \lib 问题2:没打开监听 症状 ...
- Cocos2d-x移植到WindowsPhone8移植问题-libNetwork库移植问题
Cocos2d-x提供了libNetwork库的源代码,而且还提供了libNetwork库的源代码Visual Studio 2012工程文件libNetwork.vcxproj,这样就更方便移植了. ...
- Python的functools.reduce用法
python 3.0以后, reduce已经不在built-in function里了, 要用它就得from functools import reduce. reduce的用法 reduce(fun ...