freeCodeCamp/guide/chinese/python/docstring/index.md

67 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
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是两种常用的方法
* Googlehttp//sphinxcontrib-napoleon.readthedocs.io/en/latest/example\_google.html
* Numpyhttp//sphinxcontrib-napoleon.readthedocs.io/en/latest/example\_numpy.html 另外请参阅一些旧的PEP评论https//www.python.org/dev/peps/pep-0257/