菜鸟教程 -- 学的不仅是技术,更是梦想!

Python 3 教程
Python3 教程 Python3 简介 Python3 环境搭建 Python3 VScode Python3 基础语法 Python3 基本数据类型 Python3 数据类型转换 Python3 解释器 Python3 注释 Python3 运算符 Python3 数字(Number) Python3 字符串 Python3 列表 Python3 元组 Python3 字典 Python3 集合 Python3 条件控制 Python3 循环语句 Python3 编程第一步 Python3 推导式 Python3 迭代器与生成器 Python3 with Python3 函数 Python3 lambda Python3 装饰器 Python3 数据结构 Python3 模块 Python __name__ Python3 输入和输出 Python3 File Python3 OS Python3 错误和异常 Python3 面向对象 Python3 命名空间/作用域 Python 虚拟环境的创建 Python 类型注解 Python3 标准库概览 Python3 实例 Python 测验

Python3 高级教程

Python3 正则表达式 Python3 CGI编程 Python3 MySQL(mysql-connector) Python3 MySQL(PyMySQL) Python3 网络编程 Python3 SMTP发送邮件 Python3 多线程 Python3 XML 解析 Python3 JSON Python3 日期和时间 Python3 内置函数 Python3 MongoDB Python3 urllib Python uWSGI 安装配置 Python3 pip Python3 operator Python math Python requests Python random Python OpenAI Python 有用的资源 Python AI 绘画 Python statistics Python hashlib Python 量化 Python pyecharts Python selenium 库 Python 爬虫 Python Scrapy 库 Python Markdown Python sys 模块 Python Pickle 模块 Python subprocess 模块 Python queue 模块 Python StringIO 模块 Python logging 模块 Python datetime 模块 Python re 模块 Python csv 模块 Python threading 模块 Python asyncio 模块 Python PyQt Python for 循环 Python while 循环
(追記) (追記ここまで)

Python3 注释

在 Python 中,注释不会影响程序的执行,但是会使代码更易于阅读和理解。

Python 中的注释有单行注释多行注释


单行注释

Python 中单行注释以 # 开头,# 符号后面的所有文本都被视为注释,不会被解释器执行。

实例

# 这是一个注释
print("Hello, World!")
# 这也是注释

多行注释

在 Python 中,多行字符串(由三个单引号 ''' 或三个双引号 """ 包围的文本块)可以用作多行注释。

1、使用三个单引号

实例

#!/usr/bin/python3

'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
'''

print("Hello, World!")

2、使用三个双引号

实例

#!/usr/bin/python3

"""
这是多行注释,用三个双引号
这是多行注释,用三个双引号
这是多行注释,用三个双引号
"""

print("Hello, World!")

注意:虽然多行字符串在这里被当作多行注释使用,但它实际上是一个字符串,我们只要不使用它,它不会影响程序的运行。

这些字符串在代码中可以被放置在一些位置,而不引起实际的执行,从而达到注释的效果。

多行注释注意事项

在 Python 中,多行注释是由三个单引号 ''' 或三个双引号 """ 来定义的,这种注释方式不能嵌套使用

当你开始一个多行注释块时,Python 会一直将后续的行都当作注释,直到遇到另一组三个单引号或三个双引号。

嵌套多行注释会导致语法错误:

实例(错误示例)

'''
这是外部的多行注释
可以包含一些描述性的内容

'''

这是尝试嵌套的多行注释
会导致语法错误
'''
'''

在这个例子中,内部的三个单引号并没有被正确识别为多行注释的结束,而是被解释为普通的字符串,这将导致代码结构不正确。

正确做法:使用单行注释嵌套

实例(正确示例)

'''
这是外部的多行注释
可以包含一些描述性的内容

# 这是内部的单行注释
# 可以嵌套在多行注释中
'''


Docstring 文档字符串

Python 的 Docstring(文档字符串)是一种特殊的注释,用于为函数、类、模块等添加文档说明。它类似于 Java 的 Javadoc,但更加强大和灵活。

与普通注释不同,Docstring 可以通过 __doc__ 属性直接访问,也可以使用 help() 函数查看。

基本语法

Docstring 使用三个双引号 """ 或三个单引号 ''' 包围,放在函数、类、模块的开头。

实例

def add(a, b):
"""返回两数之和"""
return a + b

# 通过 __doc__ 属性访问
print(add.__doc__) # 输出: 返回两数之和

使用 help() 查看文档

实例

def add(a, b):
"""返回两数之和"""
return a + b

# 使用 help() 函数
help(add)

运行结果预期:

Help on function add in module __main__:
add(a, b)
 返回两数之和

使用 inspect 模块提取文档

Python 的标准库提供了 inspect 模块,可以直接提取文档内容:

实例

import inspect

def add(a, b):
"""返回两数之和"""
return a + b

# 使用 inspect.getdoc() 获取文档
print(inspect.getdoc(add)) # 输出: 返回两数之和

运行结果预期:

返回两数之和

多行 Docstring

对于复杂的函数,可以使用多行 Docstring:

实例

def calculate(a, b, operation="add"):
"""
执行数学运算

参数:
a: 第一个数字
b: 第二个数字
operation: 操作类型,可选 "add", "subtract", "multiply"

返回:
计算结果
"""

if operation == "add":
return a + b
elif operation == "subtract":
return a - b
elif operation == "multiply":
return a * b
else:
raise ValueError("不支持的操作")

# 查看完整文档
help(calculate)

运行结果预期:

Help on function calculate in module __main__:
calculate(a, b, operation='add')
 执行数学运算
 参数:
 a: 第一个数字
 b: 第二个数字
 operation: 操作类型,可选 "add", "subtract", "multiply"
 返回:
 计算结果

类的 Docstring

Docstring 也可以用于类:

实例

class Person:
"""人物类,用于表示一个人的基本信息"""

def __init__(self, name, age):
"""
初始化人物对象

参数:
name: 姓名
age: 年龄
"""

self.name = name
self.age = age

def introduce(self):
"""介绍这个人"""
return f"我叫{self.name},今年{self.age}岁"

# 访问类的文档
print(Person.__doc__)

# 访问方法的文档
print(Person.introduce.__doc__)

运行结果预期:

人物类,用于表示一个人的基本信息
介绍这个人

Docstring 规范

Python 中有多种 Docstring 风格,常用的有:

  • Google 风格:使用空格缩进,参数和返回值有明确的标签。
  • Sphinx/reST 风格:使用冒号开头,如 :param name:
  • NumPy 风格:与 Google 风格类似,但格式略有不同。

建议在项目中选择一种风格并保持一致。

AI 思考中...

3 篇笔记 写笔记

  1. #0

    李金文

    108***[email protected]

    957

    以下实例我们可以输出函数的注释:

    def a():
     '''这是文档字符串'''
     pass
    print(a.__doc__)

    输出结果为:

    这是文档字符串

    李金文

    108***[email protected]

    8年前 (2018年06月13日)
  2. #0

    tellw

    tel***[email protected]

    302

    三个双引号赋值给字符串变量时,表示一种字符串的特殊写法。

    >>> str="""I
    ... want
    ... you"""
    >>> str
    'I\nwant\nyou'
    >>> print(str)
    I
    want
    you

    单引号在这里的用法与双引号相同。

    tellw

    tel***[email protected]

    6年前 (2020年06月15日)
  3. #0

    yomicel

    yom***[email protected]

    349

    (to一楼)当函数中有语句的时候,是无法输出函数的注释的:

    def a():
     a=1
     '''这是文档字符串'''
     pass
    print(a.__doc__)

    输出结果为:None

    以下这种方式可以,所以注释应该放在函数的第一行:

    def a():
     '''这是文档字符串'''
     a = 1
     pass
    print(a.__doc__)
    这是文档字符串

    yomicel

    yom***[email protected]

    6年前 (2021年01月25日)

点我分享笔记

  • 昵称 (必填)
  • 邮箱 (必填)
  • 引用地址

AltStyle によって変換されたページ (->オリジナル) /