Python 注释是程序员可读的解释或注解,存在于 Python 源代码中。它们的目的是为了让人类更容易理解源代码,并且在 Python 解释器中会被忽略。注释增强了代码的可读性,帮助程序员更仔细地理解代码。
示例
如果我们执行下面给出的代码,输出仅仅会在控制台上打印出 "Hello, World!",因为注释在 Python 解释器中会被忽略,并不会影响程序的执行:
print("Hello, World!")
Python 支持三种类型的注释,如下面所示:
Python 中的单行注释
在 Python 中,单行注释以井号 (#) 开头并延伸至行尾。它们用于提供简短的解释或代码的注解。它们可以放在描述代码的单独一行上,或者作为内联注释放在代码行的末尾来提供上下文或澄清特定行的内容。
示例:独立单行注释
独立单行注释是注释占用整个行的一种形式,以井号 (#) 开头。它位于描述或注释的代码上方。
在这个例子中,独立单行注释放置在 "greet" 函数上方 "−
def greet():
print("Hello, World!")
greet()
示例:内联单行注释
内联单行注释是在同一行上与一段代码一起出现的注释,并且紧随代码之后以井号 (#) 开始。
在这个例子中,内联单行注释跟随 print("Hello, World!")
语句:
print("Hello, World!")
Python 中的多行注释
在 Python 中,多行注释用于提供跨越多行的更长解释或注解。虽然 Python 没有特定的多行注释语法,但有两种常见的方式可以实现这一点:连续的单行注释和三引号字符串。
连续单行注释
连续单行注释指的是在每一行的开头使用井号 (#)。这种方法通常用于较长的解释或分割代码的部分。
示例
在这个例子中,多行注释用于解释计算阶乘函数的目的和逻辑:
def factorial(n):
if n < 0:
return "阶乘对于负数没有定义"
result = 1
for i in range(1, n + 1):
result *= i
return result
number = 5
print(f"{number} 的阶乘是 {factorial(number)}")
使用三引号字符串的多行注释
我们可以使用三引号字符串(''' 或 """)创建多行注释。这些字符串技术上是字符串字面量,但如果它们没有被分配给任何变量或在表达式中使用,则可以用作注释。
这种模式经常用于块注释或当文档需要详细解释代码段时。
示例
这里,三引号字符串提供了对 "gcd" 函数的详细解释,描述其目的和所使用的算法:
"""
这个函数使用欧几里得算法计算两个数的最大公约数(GCD)。
两个数的最大公约数是能同时整除这两个数的最大的数。
"""
def gcd(a, b):
while b:
a, b = b, a % b
return a
result = gcd(48, 18)
print("48 和 18 的最大公约数是:", result)
使用注释进行文档化
在 Python 中,文档注释也称为 docstrings,提供了一种在代码中嵌入文档的方法。这对于解释模块、类、函数和方法的目的和用法是有用的。有效地使用文档注释有助于其他开发人员理解你的代码及其用途,而无需阅读实现的所有细节。
Python 文档字符串
在 Python 中,文档字符串是一种特殊的注释类型,用于记录模块、类、函数和方法。它们使用三引号(''' 或 """)编写,并立即放置在它们记录的实体定义之后。
文档字符串可以通过编程方式访问,使其成为 Python 内置文档工具的一个组成部分。
示例:函数文档字符串
def greet(name):
"""
这个函数向传递给它的参数的人问好。
参数:
name (str): 要问候的人的名字
返回:
None
"""
print(f"Hello, {name}!")
greet("Alice")
访问文档字符串
文档字符串可以使用 .doc 属性或 help() 函数访问。这使得可以直接从交互式的 Python shell 或者在代码内部轻松查看任何模块、类、函数或方法的文档。
示例:使用 .doc 属性
def greet(name):
"""
这个函数向传递给它的参数的人问好。
参数:
name (str): 要问候的人的名字
返回:
None
"""
print(greet.__doc__)
示例:使用 help() 函数
def greet(name):
"""
这个函数向传递给它的参数的人问好。
参数:
name (str): 要问候的人的名字
返回:
None
"""
help(greet)