【无标题】

一、标准数据类型

Python 3中有6种标准数据类型:

1. Number(数字)

在Python 3支持int, float, bool, complex

python 复制代码
numA, numB, numC, numD = 10, 8.8, True, 1 + 5j
print("numA的数据类型为: ", type(numA))
print("numB的数据类型为: ", type(numB))
print("numC的数据类型为: ", type(numC))
print("numD的数据类型为: ", type(numD))

输出结果:

python 复制代码
numA的数据类型为:  <class 'int'>
numB的数据类型为:  <class 'float'>
numC的数据类型为:  <class 'bool'>
numD的数据类型为:  <class 'complex'>

注意:bool是int的子类,True和False可以和数字相加,True == 1, False == 0

python 复制代码
print("numC是否是int类型: ", isinstance(numC, int))

数值运算

python 复制代码
numE, numF = 10, 2
# 加法
numE + numF = 12
# 减法
numE - numF = 8
# 除法,得到一位浮点数
numE / numF = 5.0
# 整除,得到一个整数
numE // numF = 5
# 取余
numE % numF = 0
# 乘方
numE ** numF = 100
2. String(字符串)

Python中的字符串用单引号 ' 或者双引号 " 括起来,同时可以使用反斜杠 \ 转义特殊字符

字符串截取语法格式如下:

复制代码
变量[头下标:尾下标:步长]

索引值从0开始,-1为末尾开始的位置

加号 + 代表着字符串的拼接,星号 * 代表着复制的字数

python 复制代码
myStr = "hello world!"
print("从第一位开始输出整个字符串: ", myStr[0:])
print("从第二位到第五位输出,第五位取不到: ", myStr[2:5])
print("从头开始输出字符串,步长为2: ", myStr[::2])
print("从头部输出到尾部,不包括尾部: ", myStr[0:-1])
print("反转: ", myStr[::-1])
print("字符串的拼接", myStr + "!")
print("重复打印俩次字符串", myStr * 2)

输出结果:

python 复制代码
从第一位开始输出整个字符串:  hello world!
从第二位到第五位输出,第五位取不到:  llo
从头开始输出字符串,步长为2:  hlowrd
从头部输出到尾部,不包括尾部:  hello world
反转:  !dlrow olleh
字符串的拼接 hello world!!
重复打印俩次字符串 hello world!hello world!

反斜杠可以用来转义,使用 r 前缀可以让反斜杠不发生转义(原始字符串)

python 复制代码
# 会换行输出 i hao,\n代表换行
strA = "\ni hao"
# 会输出 \ni hao,因为r前缀可以让反斜杠不发生转义
strB = r"\ni hao"
3. List(列表)

列表中的元素类型可以不相同,它支持数字、字符串,甚至可以包含列表(即嵌套列表),列表写在方括号[]之间,用逗号分隔开元素列表。

和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。

列表截取的语法格式如下:

python 复制代码
变量[头下标:尾下标]

如图所示:

python 复制代码
myList = ['abc', 234, 2.3, 'hello', "world"]
listB = ['this', 'is']
print("打印整个列表: ", myList)
print("打印第一个元素: ", myList[0])
print("打印第2到3个元素: ", myList[2:4])
print("重复打印两次列表: ", myList * 2)
print("拼接俩个列表: ", myList + listB)

输出结果:

python 复制代码
打印整个列表:  ['abc', 234, 2.3, 'hello', 'world']
打印第一个元素:  abc
打印第2到3个元素:  [2.3, 'hello']
重复打印两次列表:  ['abc', 234, 2.3, 'hello', 'world', 'abc', 234, 2.3, 'hello', 'world']
拼接俩个列表:  ['abc', 234, 2.3, 'hello', 'world', 'this', 'is']

列表与字符串不一样的就是,列表中的元素是可以改变的

python 复制代码
myList[0] = 'haha'
print("改变第一个元素的值之后的列表: ", myList)
myList[1:3] = []
print("将2到3的元素设置为空列表,即删除2到3的元素: ", myList)

输出结果:
改变第一个元素的值之后的列表:  ['haha', 234, 2.3, 'hello', 'world']
将2到3的元素设置为空列表,即删除2到3的元素:  ['haha', 'hello', 'world']
4. Tuple(元组)

元组与列表类似,不同之处在于元组的元素不能进行修改,元组写在()里,元素之间用逗号隔开。元组中的元素类型也可以不相同:

python 复制代码
myTuple = ('abc', 234, 3.2, 'hello', 'world')
tupleA = ('this', 'is')
print("输出整个元组: ", myTuple)
print("输出第一个元素: ", myTuple[0])
print("输出索引第一个到第二个: ", myTuple[1:3])
print("输出从索引第2个开始的所有元素: ", myTuple[2:])
print("输出俩次元组: ", myTuple * 2)
print("拼接俩个元组: ", myTuple + tupleA)

输出结果:

python 复制代码
输出整个元组:  ('abc', 234, 3.2, 'hello', 'world')
输出第一个元素:  abc
输出索引第一个到第二个:  ('abc', 234)
输出从索引第2个开始的所有元素:  (234, 3.2, 'hello', 'world')
输出俩次元组:  ('abc', 234, 3.2, 'hello', 'world', 'abc', 234, 3.2, 'hello', 'world')
拼接俩个元组:  ('abc', 234, 3.2, 'hello', 'world', 'this', 'is')

虽然元组的元素不可改变,但它可以包含可变的对象,比如list列表

构造包含0个或者1个元素的元组比较的特殊

python 复制代码
# 空元组
tupA = ()
# 一个元素,需要在元素后面添加逗号,如果不添加逗号的话 (42) 会被解释为一个数字,而括号就会被识别为数学运算符中的括号
tupB = (42, ) 

注意:string、list和tuple都属于 sequence(序列)

5. Set(集合)

Set是一种无序的、可变的数据类型,用于存储唯一的元素。集合中的元素不会重复,并且可以进行交集、并集、差集等等常见的集合操作。

集合使用{}表示,元素之间使用 ,分隔。也可以使用set()函数创建集合

注意:创建一个空集合必须使用set(),而不是{},因为{}创建的是一个空字典

python 复制代码
mySet = {"learn", "to", "Python", "every", "day"}
print(mySet)

if Python in mySet:
	print("Python 在集合当中")
else:
	print("Python 不在集合当中")

# set 也可以进行集合运算
setA = set("abcdaaaddcc")
setB = set("cdef")

# 输出 setA 中唯一的元素
print("输出 setA 中唯一的字符: ", setA)

# setA 和 setB 中的差集(在 setA 中但不在 setB 中)
print("setA 和 setB 中的差集: ", setA - setB)
# setA 和 setB 的并集(在 setA 或 setB 中)
print("setA 和 setB 的并集: ", setA | setB)
# setA 和 setB 的交集(同时在 setA 和 setB 中)
print("setA 和 setB 的交集: ", setA & setB)
# setA 和 setB 的对称差集,在 setA 或 setB 中但不同时存在
print("setA 和 setB 的对称差集: ", setA ^ setB)

输出结果:

python 复制代码
{'every', 'day', 'learn', 'Python', 'to'}
Python 在集合当中
输出 setA 中唯一的字符:  {'c', 'd', 'a', 'b'}
setA 和 setB 中的差集:  {'a', 'b'}
setA 和 setB 的并集:  {'c', 'b', 'f', 'a', 'e', 'd'}
setA 和 setB 的交集:  {'c', 'd'}
setA 和 setB 的对称差集:  {'b', 'f', 'e', 'a'}
6. Dictionary(字典)

字典是一种映射类型,使用{}标识,是由一个键值对(key:value)的集合,键(key)必须使用不可变类型,并且在同一个字典中唯一。

python 复制代码
myDict = {"one":"onePoint", 2:"twoPoint", "three":"threePoint"}
print("输出键为'one'的值: ", myDict['one'])
print("输出键为'2'的值: ", myDict[2])
print("输出整个字典: ", myDict)
print("输出字典所有的键: ", myDict.keys())
print("输出字典所有的值: ", myDict.values())

输出结果:

python 复制代码
输出键为'one'的值:  onePoint
输出键为'2'的值:  twoPoint
输出整个字典:  {'one': 'onePoint', 2: 'twoPoint', 'three': 'threePoint'}
输出字典所有的键:  dict_keys(['one', 2, 'three'])
输出字典所有的值:  dict_values(['onePoint', 'twoPoint', 'threePoint'])
  • 不可变数据(3个):Number(数字)、String(字符串)、Tuple(元组)

  • 可变数据(3个):List(列表)、Dictionary(字典)、Set(集合)

二、数据类型转换

Python中的数据类型转换可以分为两种:

  • 隐式类型转换 - 自动完成
  • 显式类型转换 - 需要使用类型函数来转换

隐式类型转换

在隐式转换中,Python会自动将一种数据类型转换为另一种数据类型,不需要我们去干预。

就比如较低数据类型(整数)就会转换为较高数据类型(浮点数)以避免数据的丢失。

python 复制代码
numA = 100
numB = 0.01
numC = numA + numB
print("numA的数据类型为: ", type(numA))
print("numB的数据类型为: ", type(numB))

print("numC的值为: ", numC)
print("numC的数据类型为: ", type(numC))

输出结果:

python 复制代码
numA的数据类型为:  <class 'int'>
numB的数据类型为:  <class 'float'>
numC的值为:  100.01
numC的数据类型为:  <class 'float'>

Python会自动将较小的数据类型转换为较大的数据类型,避免数据的丢失

显示类型转换

在显示类型转换中,用户将对象的数据类型转换为所需的数据类型,我们使用int()、float()、str()等预定义函数来执行显示类型转换。

如int()强制转换为整型。

python 复制代码
# 显示类型转换
numA = 100
numBStr = "100"
numC = 10.01
print(f"转换前的numA={numA},numA的类型为{type(numA)}")
print(f"转换前的numBStr={numBStr},numBStr的类型为{type(numBStr)}")
print(f"转换前的numC={numC},numC的类型为{type(numC)}\n")
# int() 强制转换为整型,会丢失精度
numBStr = int(numBStr)
numC = int(numC)
print(f"转换后的numBStr={numBStr},numBStr的类型为{type(numBStr)}")
print(f"转换后的numC={numC},numC的类型为{type(numC)}\n")
#float() 强制转换为浮点型
numA = float(numA)
print(f"转换后的numA={numA},numA的类型为{type(numA)}\n")
# str() 强制转换为字符串类型
numC = str(numC)
print(f"转换后的numC={numC},numC的类型为{type(numC)}\n")

输出结果:

python 复制代码
转换前的numA=100,numA的类型为<class 'int'>
转换前的numBStr=100,numBStr的类型为<class 'str'>
转换前的numC=10.01,numC的类型为<class 'float'>

转换后的numBStr=100,numBStr的类型为<class 'int'>
转换后的numC=10,numC的类型为<class 'int'>

转换后的numA=100.0,numA的类型为<class 'float'>

转换后的numC=10,numC的类型为<class 'str'>

三、注释

在Python3中,注释分为单行注释和多行注释

单行注释

Python中,单行注释以#开头,后面的文本内容就会被解释器视作注释不会被执行

python 复制代码
# 这是一行单行的注释
print("Hello Python!")

多行注释

Python中,多行注释以三个单引号'''或者三个双引号"""所包围

python 复制代码
'''
这是多行注释
这是多行注释
'''
print("Hello Python")

"""
这也是一个多行注释
这也是一个多行注释
"""
print("Hello Python")

注意:

  • 如果将多行注释赋值到一个变量中,那么这个注释将不是注释,而是一个字符串
python 复制代码
myStr = """这是一个字符串"""
  • 在多行注释中,不能进行嵌套注释,这是不允许的,这个可能会导致语法的报错。但是可以在多行注释中进行一个单行的注释
python 复制代码
# 下方这个是一个错误的注释方法
'''

    '''
	在多行注释中在进行嵌套的注释,这是不被允许的
    '''
'''
   
# 下方这个是一个正确的注释方法
'''

# 在多行注释中,可以使用单行的注释
'''

Docstring文档字符串

文档字符串是一种特殊的注释,可以为函数、类、模块等添加文档说明,他类似于Javadoc

同时Docstring可以通过__doc__属性直接访问,同时也可以使用help函数查看

python 复制代码
# Docstring 字符串
def add(a, b):
    """返回两数之和"""
    return a + b

# 通过__doc__属性进行访问
print(add.__doc__)
help(add)

输出结果:

python 复制代码
返回两数之和
Help on function add in module __main__:

add(a, b)
    返回两数之和

使用inspect模块提取文档

python 复制代码
def add(a, b):
    """返回两数之和"""
    return a + b
print(inspect.getdoc(add))

输出结果:

python 复制代码
返回两数之和

一、标准数据类型

Python 3中有6种标准数据类型:

1. Number(数字)

在Python 3支持int, float, bool, complex

python 复制代码
numA, numB, numC, numD = 10, 8.8, True, 1 + 5j
print("numA的数据类型为: ", type(numA))
print("numB的数据类型为: ", type(numB))
print("numC的数据类型为: ", type(numC))
print("numD的数据类型为: ", type(numD))

输出结果:

python 复制代码
numA的数据类型为:  <class 'int'>
numB的数据类型为:  <class 'float'>
numC的数据类型为:  <class 'bool'>
numD的数据类型为:  <class 'complex'>

注意:bool是int的子类,True和False可以和数字相加,True == 1, False == 0

python 复制代码
print("numC是否是int类型: ", isinstance(numC, int))

数值运算

python 复制代码
numE, numF = 10, 2
# 加法
numE + numF = 12
# 减法
numE - numF = 8
# 除法,得到一位浮点数
numE / numF = 5.0
# 整除,得到一个整数
numE // numF = 5
# 取余
numE % numF = 0
# 乘方
numE ** numF = 100
2. String(字符串)

Python中的字符串用单引号 ' 或者双引号 " 括起来,同时可以使用反斜杠 \ 转义特殊字符

字符串截取语法格式如下:

复制代码
变量[头下标:尾下标:步长]

索引值从0开始,-1为末尾开始的位置

加号 + 代表着字符串的拼接,星号 * 代表着复制的字数

python 复制代码
myStr = "hello world!"
print("从第一位开始输出整个字符串: ", myStr[0:])
print("从第二位到第五位输出,第五位取不到: ", myStr[2:5])
print("从头开始输出字符串,步长为2: ", myStr[::2])
print("从头部输出到尾部,不包括尾部: ", myStr[0:-1])
print("反转: ", myStr[::-1])
print("字符串的拼接", myStr + "!")
print("重复打印俩次字符串", myStr * 2)

输出结果:

python 复制代码
从第一位开始输出整个字符串:  hello world!
从第二位到第五位输出,第五位取不到:  llo
从头开始输出字符串,步长为2:  hlowrd
从头部输出到尾部,不包括尾部:  hello world
反转:  !dlrow olleh
字符串的拼接 hello world!!
重复打印俩次字符串 hello world!hello world!

反斜杠可以用来转义,使用 r 前缀可以让反斜杠不发生转义(原始字符串)

python 复制代码
# 会换行输出 i hao,\n代表换行
strA = "\ni hao"
# 会输出 \ni hao,因为r前缀可以让反斜杠不发生转义
strB = r"\ni hao"
3. List(列表)

列表中的元素类型可以不相同,它支持数字、字符串,甚至可以包含列表(即嵌套列表),列表写在方括号[]之间,用逗号分隔开元素列表。

和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。

列表截取的语法格式如下:

python 复制代码
变量[头下标:尾下标]

如图所示:

python 复制代码
myList = ['abc', 234, 2.3, 'hello', "world"]
listB = ['this', 'is']
print("打印整个列表: ", myList)
print("打印第一个元素: ", myList[0])
print("打印第2到3个元素: ", myList[2:4])
print("重复打印两次列表: ", myList * 2)
print("拼接俩个列表: ", myList + listB)

输出结果:

python 复制代码
打印整个列表:  ['abc', 234, 2.3, 'hello', 'world']
打印第一个元素:  abc
打印第2到3个元素:  [2.3, 'hello']
重复打印两次列表:  ['abc', 234, 2.3, 'hello', 'world', 'abc', 234, 2.3, 'hello', 'world']
拼接俩个列表:  ['abc', 234, 2.3, 'hello', 'world', 'this', 'is']

列表与字符串不一样的就是,列表中的元素是可以改变的

python 复制代码
myList[0] = 'haha'
print("改变第一个元素的值之后的列表: ", myList)
myList[1:3] = []
print("将2到3的元素设置为空列表,即删除2到3的元素: ", myList)

输出结果:
改变第一个元素的值之后的列表:  ['haha', 234, 2.3, 'hello', 'world']
将2到3的元素设置为空列表,即删除2到3的元素:  ['haha', 'hello', 'world']
4. Tuple(元组)

元组与列表类似,不同之处在于元组的元素不能进行修改,元组写在()里,元素之间用逗号隔开。元组中的元素类型也可以不相同:

python 复制代码
myTuple = ('abc', 234, 3.2, 'hello', 'world')
tupleA = ('this', 'is')
print("输出整个元组: ", myTuple)
print("输出第一个元素: ", myTuple[0])
print("输出索引第一个到第二个: ", myTuple[1:3])
print("输出从索引第2个开始的所有元素: ", myTuple[2:])
print("输出俩次元组: ", myTuple * 2)
print("拼接俩个元组: ", myTuple + tupleA)

输出结果:

python 复制代码
输出整个元组:  ('abc', 234, 3.2, 'hello', 'world')
输出第一个元素:  abc
输出索引第一个到第二个:  ('abc', 234)
输出从索引第2个开始的所有元素:  (234, 3.2, 'hello', 'world')
输出俩次元组:  ('abc', 234, 3.2, 'hello', 'world', 'abc', 234, 3.2, 'hello', 'world')
拼接俩个元组:  ('abc', 234, 3.2, 'hello', 'world', 'this', 'is')

虽然元组的元素不可改变,但它可以包含可变的对象,比如list列表

构造包含0个或者1个元素的元组比较的特殊

python 复制代码
# 空元组
tupA = ()
# 一个元素,需要在元素后面添加逗号,如果不添加逗号的话 (42) 会被解释为一个数字,而括号就会被识别为数学运算符中的括号
tupB = (42, ) 

注意:string、list和tuple都属于 sequence(序列)

5. Set(集合)

Set是一种无序的、可变的数据类型,用于存储唯一的元素。集合中的元素不会重复,并且可以进行交集、并集、差集等等常见的集合操作。

集合使用{}表示,元素之间使用 ,分隔。也可以使用set()函数创建集合

注意:创建一个空集合必须使用set(),而不是{},因为{}创建的是一个空字典

python 复制代码
mySet = {"learn", "to", "Python", "every", "day"}
print(mySet)

if Python in mySet:
	print("Python 在集合当中")
else:
	print("Python 不在集合当中")

# set 也可以进行集合运算
setA = set("abcdaaaddcc")
setB = set("cdef")

# 输出 setA 中唯一的元素
print("输出 setA 中唯一的字符: ", setA)

# setA 和 setB 中的差集(在 setA 中但不在 setB 中)
print("setA 和 setB 中的差集: ", setA - setB)
# setA 和 setB 的并集(在 setA 或 setB 中)
print("setA 和 setB 的并集: ", setA | setB)
# setA 和 setB 的交集(同时在 setA 和 setB 中)
print("setA 和 setB 的交集: ", setA & setB)
# setA 和 setB 的对称差集,在 setA 或 setB 中但不同时存在
print("setA 和 setB 的对称差集: ", setA ^ setB)

输出结果:

python 复制代码
{'every', 'day', 'learn', 'Python', 'to'}
Python 在集合当中
输出 setA 中唯一的字符:  {'c', 'd', 'a', 'b'}
setA 和 setB 中的差集:  {'a', 'b'}
setA 和 setB 的并集:  {'c', 'b', 'f', 'a', 'e', 'd'}
setA 和 setB 的交集:  {'c', 'd'}
setA 和 setB 的对称差集:  {'b', 'f', 'e', 'a'}
6. Dictionary(字典)

字典是一种映射类型,使用{}标识,是由一个键值对(key:value)的集合,键(key)必须使用不可变类型,并且在同一个字典中唯一。

python 复制代码
myDict = {"one":"onePoint", 2:"twoPoint", "three":"threePoint"}
print("输出键为'one'的值: ", myDict['one'])
print("输出键为'2'的值: ", myDict[2])
print("输出整个字典: ", myDict)
print("输出字典所有的键: ", myDict.keys())
print("输出字典所有的值: ", myDict.values())

输出结果:

python 复制代码
输出键为'one'的值:  onePoint
输出键为'2'的值:  twoPoint
输出整个字典:  {'one': 'onePoint', 2: 'twoPoint', 'three': 'threePoint'}
输出字典所有的键:  dict_keys(['one', 2, 'three'])
输出字典所有的值:  dict_values(['onePoint', 'twoPoint', 'threePoint'])
  • 不可变数据(3个):Number(数字)、String(字符串)、Tuple(元组)

  • 可变数据(3个):List(列表)、Dictionary(字典)、Set(集合)

二、数据类型转换

Python中的数据类型转换可以分为两种:

  • 隐式类型转换 - 自动完成
  • 显式类型转换 - 需要使用类型函数来转换

隐式类型转换

在隐式转换中,Python会自动将一种数据类型转换为另一种数据类型,不需要我们去干预。

就比如较低数据类型(整数)就会转换为较高数据类型(浮点数)以避免数据的丢失。

python 复制代码
numA = 100
numB = 0.01
numC = numA + numB
print("numA的数据类型为: ", type(numA))
print("numB的数据类型为: ", type(numB))

print("numC的值为: ", numC)
print("numC的数据类型为: ", type(numC))

输出结果:

python 复制代码
numA的数据类型为:  <class 'int'>
numB的数据类型为:  <class 'float'>
numC的值为:  100.01
numC的数据类型为:  <class 'float'>

Python会自动将较小的数据类型转换为较大的数据类型,避免数据的丢失

显示类型转换

在显示类型转换中,用户将对象的数据类型转换为所需的数据类型,我们使用int()、float()、str()等预定义函数来执行显示类型转换。

如int()强制转换为整型。

python 复制代码
# 显示类型转换
numA = 100
numBStr = "100"
numC = 10.01
print(f"转换前的numA={numA},numA的类型为{type(numA)}")
print(f"转换前的numBStr={numBStr},numBStr的类型为{type(numBStr)}")
print(f"转换前的numC={numC},numC的类型为{type(numC)}\n")
# int() 强制转换为整型,会丢失精度
numBStr = int(numBStr)
numC = int(numC)
print(f"转换后的numBStr={numBStr},numBStr的类型为{type(numBStr)}")
print(f"转换后的numC={numC},numC的类型为{type(numC)}\n")
#float() 强制转换为浮点型
numA = float(numA)
print(f"转换后的numA={numA},numA的类型为{type(numA)}\n")
# str() 强制转换为字符串类型
numC = str(numC)
print(f"转换后的numC={numC},numC的类型为{type(numC)}\n")

输出结果:

python 复制代码
转换前的numA=100,numA的类型为<class 'int'>
转换前的numBStr=100,numBStr的类型为<class 'str'>
转换前的numC=10.01,numC的类型为<class 'float'>

转换后的numBStr=100,numBStr的类型为<class 'int'>
转换后的numC=10,numC的类型为<class 'int'>

转换后的numA=100.0,numA的类型为<class 'float'>

转换后的numC=10,numC的类型为<class 'str'>

三、注释

在Python3中,注释分为单行注释和多行注释

单行注释

Python中,单行注释以#开头,后面的文本内容就会被解释器视作注释不会被执行

python 复制代码
# 这是一行单行的注释
print("Hello Python!")

多行注释

Python中,多行注释以三个单引号'''或者三个双引号"""所包围

python 复制代码
'''
这是多行注释
这是多行注释
'''
print("Hello Python")

"""
这也是一个多行注释
这也是一个多行注释
"""
print("Hello Python")

注意:

  • 如果将多行注释赋值到一个变量中,那么这个注释将不是注释,而是一个字符串
python 复制代码
myStr = """这是一个字符串"""
  • 在多行注释中,不能进行嵌套注释,这是不允许的,这个可能会导致语法的报错。但是可以在多行注释中进行一个单行的注释
python 复制代码
# 下方这个是一个错误的注释方法
'''

    '''
	在多行注释中在进行嵌套的注释,这是不被允许的
    '''
'''
   
# 下方这个是一个正确的注释方法
'''

# 在多行注释中,可以使用单行的注释
'''

Docstring文档字符串

文档字符串是一种特殊的注释,可以为函数、类、模块等添加文档说明,他类似于Javadoc

同时Docstring可以通过__doc__属性直接访问,同时也可以使用help函数查看

python 复制代码
# Docstring 字符串
def add(a, b):
    """返回两数之和"""
    return a + b

# 通过__doc__属性进行访问
print(add.__doc__)
help(add)

输出结果:

python 复制代码
返回两数之和
Help on function add in module __main__:

add(a, b)
    返回两数之和

使用inspect模块提取文档

python 复制代码
def add(a, b):
    """返回两数之和"""
    return a + b
print(inspect.getdoc(add))

输出结果:

python 复制代码
返回两数之和
相关推荐
2601_948810602 小时前
DevOps
运维·devops
爱喝水的鱼丶2 小时前
SAP-ABAP:条件判断与循环控制语句(7篇) 第三篇:循环基础:for、while、do-while三种循环的差异与适用场景
运维·学习·性能优化·sap·abap·erp
zt1985q2 小时前
本地部署服务器聚合平台 MCPHub 并实现外部访问
运维·服务器·网络·网络协议
wanhengidc2 小时前
服务器如何高效防御网络攻击
运维·服务器·网络
小程故事多_802 小时前
AI智能体长周期AI自动化任务,Checkpoint与回滚机制深度设计解析
运维·人工智能·自动化
handler012 小时前
【MySQL】常用约束语法总结
linux·运维·数据库·笔记·mysql
Shingmc32 小时前
Reactor反应堆模式
linux·网络
Cat_Rocky2 小时前
Linux-Jenkins自动化部署PHP项目
linux·自动化·jenkins
Shadow(⊙o⊙)2 小时前
Linux内核级文件系统分析——文件系统入门内核级文章!
linux·运维·服务器·开发语言·c++