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

2.6 KiB
Raw Blame History

title localeTitle
Docstring 文档字符串

文档字符串

Docstring是开发人员向其他开发人员传达Python中函数的用途参数要求和用法的一种方式。它允许简化代码维护和理解。

与传统的源代码注释不同docstring应该描述什么 功能,不是如何。

与Docstring类似的例子是Java中的@Javadoc。

Docstring在Python中的声明标题之后写成多行注释。 docstring有4个不同的部分

  1. 输入类型和输出类型
    • 输入/输出可以是obj, list, bool, int, str, float
  2. 功能说明
    • 简要但详尽地描述了您的功能
  3. 要求
    • 这是由人类阅读的,因此不必是代码
  4. 测试用例通常为2-3

一般格式如下。

Docstring的格式

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

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/