[python基础] 模块和库

Posted by Chase Shen on 2022-01-18
Estimated Reading Time 5 Minutes
Words 1.6k In Total
Viewed Times

在Python中,模块是一个包含Python定义和声明的文件。库是一组相关模块的集合。使用模块和库可以显著提高编程效率和代码质量。

模块

在Python中,一个模块通常是一个包含Python代码的文件(通常是以.py结尾)。模块可以包含函数、类和变量,以及可运行的代码。

使用模块

使用import语句来导入模块。一旦导入,你就可以使用该模块中定义的函数和变量。

语法:
import module_name

from module_name import some_function

库是一组相关的模块的集合。它可以由一个模块组成,也可以由很多模块组成。库提供了一组工具或功能,可以在多个程序中使用。

许多Python库也可以被视为模块,特别是当这些库被设计为单个文件时。这种情况在Python中相当普遍,尤其是对于那些功能相对集中的库。这里有一些细节来帮助理解:

  • 单文件库:有些Python库实际上是一个单独的.py文件,提供了一系列功能。在这种情况下,库和模块基本上是同一回事,因为整个库就是一个单独的模块。

  • 包含多个模块的库:对于更大、更复杂的库,它们通常包含多个模块(或子模块)。例如,numpy、pandas和matplotlib这样的库包含多个模块,您可以根据需要导入这些库中的特定模块。在这种情况下,整个库被视为一个包含多个模块的集合。

  • 模块与库的关系:模块是构成库的基础。一个库可以由一个单独的模块组成,也可以由多个相互关联的模块组成。因此,当谈论一个特定的库时,我们可能实际上是在引用它的一个或多个模块。

总之,许多Python库可以被视为模块,尤其是当这些库相对简单,或者被设计为单个文件时。但是,更大、更复杂的库可能包含多个模块,每个模块提供不同的功能。

库的导入方式

当使用import语句导入一个库时,实际上是在导入该库的一个主模块,或者是该库中的特定模块。例如,当您执行import numpy时,实际上是在导入numpy库的主模块。

也可以使用from ... import ...语句来导入特定的函数、类、变量或子模块,而具体导入什么取决于您的需要和库的结构。了解库的结构和内容是很重要的,这样才能有效地使用它。

1
2
from math import sqrt
print(sqrt(16)) # 输出4.0

这段代码会导入math模块中的sqrt函数,然后直接使用sqrt(16)来计算16的平方根。如果您想使用math.sqrt格式,您应该使用import math来导入整个模块,而不是只导入特定的函数。

当导入一个库的主模块时,也可以访问它的所有子模块,但需要通过主模块来引用这些子模块。不需要单独导入每个子模块,除非想为某个子模块设置一个别名或者只想导入该子模块。以下是两种访问子模块的方法:

  • 直接通过numpy主模块访问子模块
1
2
3
4
5
6
7
import numpy as np

# 使用numpy的随机数子模块
random_array = np.random.rand(5)

# 使用numpy的线性代数子模块
result = np.linalg.solve([[3, 1], [1, 2]], [9, 8])

在这种情况下,我们首先导入了numpy作为np,然后通过np访问random和linalg这两个子模块。

  • 单独导入特定子模块
1
2
3
4
5
6
7
from numpy import random, linalg

# 使用numpy的随机数子模块
random_array = random.rand(5)

# 使用numpy的线性代数子模块
result = linalg.solve([[3, 1], [1, 2]], [9, 8])

这种方法中,我们直接从numpy库中导入了random和linalg子模块。这样做的好处是代码更加简洁,尤其是当您只需要使用库中的特定部分时。

1
2
3
from numpy import array

my_array = array([1, 2, 3]) # 如果使用了 from numpy import array

这种导入方式下,导入的是numpy库主模块中的array函数。

通常,选择哪种方式取决于您的个人喜好和具体的使用场景。如果您只使用库的某个特定功能,单独导入相关子模块可以使代码更加清晰。但是,如果您需要使用库的多个功能,那么直接导入整个主模块可能更方便。

标准库

Python有一个广泛的标准库,无需安装额外的东西即可使用。
例如,math模块包含数学相关的函数,datetime模块用于处理日期和时间。

第三方库

第三方库是由Python社区成员创建的。你可以使用pip安装它们。

例如,requests库用于处理HTTP请求,numpy用于科学计算。

help()函数

help()是Python内置的一个非常有用的函数,用于显示任何对象(包括模块、函数、类等)的文档字符串(docstring)。这个函数特别有助于快速了解某个模块的功能和使用方法,或者查看特定函数或类的文档。以下是如何使用help()函数的示例:

使用help()函数查看模块的文档

假设您想要查看numpy模块的文档,您可以这样做:

1
2
import numpy
help(numpy)

这将会显示numpy模块的文档,包括它的函数、类、子模块等的简要说明。

查看特定函数或类的文档

如果您想查看某个特定函数或类的文档,例如numpy.array,您可以直接对该函数或类使用help()

1
2
import numpy
help(numpy.array)

这将显示关于numpy.array函数的文档,包括它的参数、返回值和简短的描述。

在交互式环境中使用help()

help()函数在交互式Python环境(如Python shell或Jupyter Notebook)中特别有用。在这些环境中,您可以直接输入help()命令来获取信息。

退出help()

在某些交互式环境中,help()函数会打开一个长文档,您可以使用方向键来上下滚动。要退出help(),通常可以按q键。

help()函数是了解Python代码和第三方库的强大工具,特别是当您没有即时访问互联网或外部文档时。


如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !