2.8_注释和文档字符串

96 阅读3分钟

2.8 注释和文档字符串

在这里插入图片描述

2.8.1 单行注释

2.8.1.1 使用 # 添加单行注释

在Python中,单行注释使用井号(#)标记,其后的内容不会被执行。

代码演示:

# 这是一个单行注释
x = 5  # 这也是一个单行注释

输出:

# 无输出,注释不执行
2.8.1.2 单行注释的最佳实践

单行注释应该简洁明了,解释代码的目的或逻辑。

代码演示:

# 计算列表中所有数字的和
total = sum(numbers)

输出:

# 无输出,注释不执行
2.8.1.3 在代码调试中利用单行注释

在调试过程中,可以使用单行注释临时禁用代码段。

代码演示:

x = 5
# y = x + 1  # 临时禁用这行代码

输出:

# 无输出,注释不执行

2.8.2 多行注释

2.8.2.1 使用多行 # 添加注释

多行注释可以通过在每行前添加#来实现。

代码演示:

###
# 这是一个多行注释
# 跨越多行
###
x = 5

输出:

# 无输出,注释不执行
2.8.2.2 使用三引号 ('''""") 添加块注释

三引号允许创建多行字符串,也可用于多行注释。

代码演示:

"""
这是一个多行注释
可以跨越多行
"""
x = 5

输出:

# 无输出,注释不执行
2.8.2.3 多行注释的常见场景与注意事项

多行注释常用于解释复杂的逻辑或代码块,但应避免过度注释。

代码演示:

# 以下代码块用于初始化数据库连接
# 参数分别为主机地址、端口号、用户名和密码
db_connection = DatabaseConnection(host, port, user, password)

输出:

# 无输出,注释不执行

2.8.3 文档字符串的使用

2.8.3.1 文档字符串的基本定义和语法

文档字符串(docstring)是字符串文字,被放置在模块、函数、类或方法的开头。

代码演示:

def my_function():
    ""“这是一个函数的文档字符串”""
    pass

输出:

# 无输出,注释不执行
2.8.3.2 在函数中添加文档字符串

文档字符串应简洁地描述函数的功能和参数。

代码演示:

def add(a, b):
    """
    返回两个数的和。
    
    参数:
    a (int): 第一个加数。
    b (int): 第二个加数。
    
    返回:
    int: 两个数的和。
    """
    return a + b

输出:

# 无输出,注释不执行
2.8.3.3 在类和模块中编写文档字符串

类和模块的文档字符串描述其功能和用途。

代码演示:

class Calculator:
    """
    一个简单的计算器类。
    """
    def add(self, a, b):
        return a + b

# 或者模块级别的文档字符串
"""
这是一个计算模块。
"""

输出:

# 无输出,注释不执行
2.8.3.4 使用 help() 查看文档字符串

help()函数可以显示对象的文档字符串。

代码演示:

def multiply(a, b):
    ""“返回两个数的乘积”""
    return a * b

help(multiply)

输出:

Help on function multiply in module __main__:
multiply(a, b)
    返回两个数的乘积
2.8.3.5 文档字符串的格式规范 (如 PEP 257)

PEP 257提供了文档字符串的格式规范。

代码演示:

def greet(name):
    """
    Greets the given name.

    Args:
        name (str): The name to greet.

    Returns:
        str: A greeting message.
    """
    return f"Hello, {name}"

输出:

# 无输出,注释不执行
2.8.3.6 利用工具自动生成 API 文档 (如 Sphinx)

Sphinx等工具可以根据文档字符串自动生成API文档。

代码演示:

# 假设使用Sphinx自动生成文档

输出:

# 无输出,注释不执行

以上是2.8节“注释与文档字符串”的内容,包括单行注释、多行注释和文档字符串的使用和最佳实践。