函数注释

在 Python 中,函数注释(也称为文档字符串或 docstring)是用于描述函数的功能、参数、返回值及其他相关信息的文本。函数注释通常用于提高代码的可读性和可维护性,并且工具如 help() 可以自动提取这些注释。Python 中的函数注释主要通过三引号字符串("""''')进行编写。

1. 基本函数注释格式

通常,在函数定义的第一行使用三引号(单引号或双引号均可),写入函数的用途说明、参数和返回值。如下是一个基本的例子:

def add(x, y):
    """
    计算两个数的和。

    参数:
    x (int or float): 第一个数字。
    y (int or float): 第二个数字。

    返回:
    int or float: 两个数字的和。
    """
    return x + y

2. 文档字符串的位置

  • 文档字符串必须放置在函数定义下的第一行,在函数体之前。

  • 函数的文档字符串通常简明扼要描述该函数的作用,特别是在大型项目中,文档字符串能显著提高代码的可读性。

3. 查看函数注释

可以使用 Python 内置的 help() 函数或者通过 .__doc__ 属性来查看文档字符串。

输出:

4. 注释规范

虽然 Python 对函数注释的格式没有强制规定,但通常推荐遵循一些社区约定的文档格式规范,如:

  • Google 风格:简单且结构清晰,广泛使用。

  • NumPy 风格:科学计算库 NumPy 所采用的风格,适用于技术文档较多的场合。

  • reStructuredText (reST):适用于 Sphinx 等文档生成工具的标准格式。

Google 风格的注释

NumPy 风格的注释

reStructuredText (reST) 风格的注释

5. 函数类型注解

Python 还支持 类型注解 来描述函数参数和返回值的类型。类型注解不会影响代码的运行,但可以提高代码的可读性和便于静态类型检查工具(如 mypy)的使用。

语法:

  • x: inty: int 表示参数 xy 应该是整数类型。

  • -> int 表示该函数返回的结果应为整数类型。

6、 __annotations__ :函数的注释信息可以通过特殊属性 __annotations__ 来访问。

以下是一个示例:

输出:

__annotations__ 返回一个字典,其中键是参数名(包括 return 表示返回值),值是对应的注释内容。

这个特性可以用于在运行时获取函数的注释信息,也可以被一些框架和工具用来进行更高级的代码分析和处理。但要注意,这些注释只是提供信息,Python 并不会强制按照注释进行类型检查等操作。

总结

  • 文档字符串(docstring) 是对函数、类、模块等的描述,能提高代码的可读性和可维护性。

  • 函数注释通常包括函数功能、参数、返回值等信息。

  • 不同的文档风格(Google、NumPy、reST)适合不同的项目需求。

  • 类型注解 可以进一步明确函数参数和返回值的类型,提高代码质量。

文档字符串和类型注解的结合有助于编写更加健壮、易于理解和维护的 Python 代码。

Last updated