【无标题】

一、标准数据类型

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 复制代码
返回两数之和
相关推荐
AlfredZhao9 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户97183563346615 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪16 小时前
linux 拷贝文件或目录到指定的位置
linux
大树881 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质1 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush41 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 天前
Linux 11 动态监控指令top
linux
小宇宙Zz1 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工1 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信