67 lines
2.6 KiB
Markdown
67 lines
2.6 KiB
Markdown
|
---
|
|||
|
title: Docstring
|
|||
|
localeTitle: 文档字符串
|
|||
|
---
|
|||
|
## 文档字符串
|
|||
|
|
|||
|
Docstring是开发人员向其他开发人员传达Python中函数的用途,参数,要求和用法的一种方式。它允许简化代码维护和理解。
|
|||
|
|
|||
|
与传统的源代码注释不同,docstring应该描述什么 功能,不是如何。
|
|||
|
|
|||
|
与Docstring类似的例子是Java中的@Javadoc。
|
|||
|
|
|||
|
Docstring在Python中的声明标题之后写成多行注释。 docstring有4个不同的部分:
|
|||
|
|
|||
|
1. 输入类型和输出类型
|
|||
|
* 输入/输出可以是`obj, list, bool, int, str, float`
|
|||
|
2. 功能说明
|
|||
|
* 简要但详尽地描述了您的功能
|
|||
|
3. 要求
|
|||
|
* 这是由人类阅读的,因此不必是代码
|
|||
|
4. 测试用例(通常为2-3)
|
|||
|
|
|||
|
一般格式如下。
|
|||
|
|
|||
|
## Docstring的格式
|
|||
|
|
|||
|
```python
|
|||
|
def my_examplefunc(input_type1, input_type2):
|
|||
|
'''(input_type1, input_type2) -> output_type # Your first line will be the input/output. Remember the space around the arrow!
|
|||
|
Here is a description of my example function # Your second line will be the description
|
|||
|
REQ: type(input_type1) == list # Your next line (or lines) will be the requirements for the input of your function
|
|||
|
REQ: type(input_type2) == str
|
|||
|
>>> my_example_func([2, 3], "Hello World!") # After the requirements come test cases
|
|||
|
[2, 3] "Hello World"
|
|||
|
>>> my_example_func([7, 2], "Another test case") # Your first line of the test case is an example of the usage, prefaced by >>>
|
|||
|
[7, 2] "Another test case" # Your second line of the test case is the output
|
|||
|
>>> my_example_func([5, 6], "Last test case")
|
|||
|
[5, 6] "Last test case"
|
|||
|
'''
|
|||
|
# Your code goes here, underneath the Docstring
|
|||
|
```
|
|||
|
|
|||
|
使用示例可以最好地理解Docstring,因此请查看下面的示例程序,如果数字小于5,程序将输出True,如果数字大于5,则输出False。
|
|||
|
|
|||
|
## 例1
|
|||
|
|
|||
|
```python
|
|||
|
def is_less_than_five(some_number):
|
|||
|
'''(int) -> bool
|
|||
|
Returns True if the given number is less than 5, and False is the given number is greater than 5.
|
|||
|
REQ: some_number != 5
|
|||
|
>>> is_less_than_five(4)
|
|||
|
True
|
|||
|
>>> is_less_than_five(6)
|
|||
|
False
|
|||
|
>>> is_less_than_five(100000)
|
|||
|
False
|
|||
|
'''
|
|||
|
# Your code goes here
|
|||
|
```
|
|||
|
|
|||
|
### 一些有用的链接:
|
|||
|
|
|||
|
Numpy和Google Docstrings是两种常用的方法:
|
|||
|
|
|||
|
* Google:http://sphinxcontrib-napoleon.readthedocs.io/en/latest/example\_google.html
|
|||
|
* Numpy:http://sphinxcontrib-napoleon.readthedocs.io/en/latest/example\_numpy.html 另外,请参阅一些旧的PEP评论:https://www.python.org/dev/peps/pep-0257/
|