1. 介绍
Python是一种面向对象的高级编程语言,具有简单易学、简洁明了、功能强大、可移植性好、扩展性强等特点。Python作为一种高级语言,具有非常强大的库功能,其中模块(module)是Python库的一种基本组成单元,是将相关的函数、类、变量等封装在一起,使之成为一个独立的代码单位,便于使用和维护。模块使得代码更加清晰易懂,可重用性更高,同时也方便别的程序员使用你编写的代码。
2. 模块的导入方式
2.1 import 语句
在Python中,要使用某个模块的功能,需要将其导入(import)到当前的程序中。导入模块的语法格式为:
import 模块名
其中,模块名
指的是当前程序中要导入的模块的名称。例如,要导入数学模块math
,可以使用如下代码:
import math
导入模块之后,就可以使用该模块中的函数、类、变量等了。例如,使用数学模块中的sqrt
函数来求一个数的平方根:
import math # 导入math模块
x = 16
y = math.sqrt(x) # 使用math模块中的sqrt函数
print(y) # 输出4.0
2.2 from-import 语句
另一种导入模块的方式是使用from-import
语句,它可以将特定的函数、类、变量等导入到当前程序的命名空间中。其语法格式为:
from 模块名 import 函数名/类名/变量名
其中,函数名/类名/变量名
是要导入到当前程序的命名空间中的名称。例如,要导入数学模块中的sqrt
函数,可以使用如下代码:
from math import sqrt
x = 16
y = sqrt(x) # 直接使用sqrt函数,不需要再加上math模块
print(y) # 输出4.0
需要注意的是,使用from-import
语句导入的函数、类、变量等,在当前程序的命名空间中直接可见,而不必再使用模块名作为前缀。
3. 模块搜索路径
在Python中,为了让程序能够在任何地方导入外部模块,Python解释器需要知道模块搜索路径,也就是它需要在何处搜索导入的模块。模块搜索路径是一个由目录名组成的列表,Python解释器会按照列表中的顺序依次搜索每个目录,直到找到指定的模块为止。
3.1 模块搜索路径的顺序
当导入一个模块时,Python解释器按照以下顺序搜索目录:
当前目录
Python标准库
操作系统环境变量PYTHONPATH
中指定的目录(如果有)
Python安装目录下的site-packages
目录
3.2 查看模块搜索路径
要查看模块搜索路径,可以使用sys
模块中的path
变量。
import sys
print(sys.path)
运行结果类似于:
['', '/usr/local/lib/python39.zip', '/usr/local/lib/python3.9', '/usr/local/lib/python3.9/lib-dynload',
'/usr/local/lib/python3.9/site-packages']
其中,空字符串''
表示当前目录,其余的目录依次表示Python标准库、PYTHONPATH
环境变量中指定的目录、site-packages
目录等。
4. 别名
在导入模块时,可以给模块起别名(alias),让代码更加简洁易懂。例如,可以将numpy
模块起名为np
:
import numpy as np # 将numpy模块起名为np
a = np.array([1, 2, 3])
print(a) # 输出[1 2 3]
5. 总结
模块是Python库中的一种基本组成单元,是将相关的函数、类、变量等封装在一起,方便重用和维护。在Python中,要使用某个模块的功能,需要使用import
语句将其导入到当前程序中。另一种导入模块的方式是使用from-import
语句,它可以将特定的函数、类、变量等导入到当前程序的命名空间中。Python解释器会按照一定顺序搜索模块,找到对应的模块之后,就可以在程序中使用该模块中的函数、类、变量等了。