文章目录
- 一、什么是模块
- 二、自定义模块
- 三、引用其它模块
- 3.1、使用 `import` 引用模块
- 3.2、使用 `from...import` 引用模块
- 3.3、查看导入了哪些定义
- 3.4、该选择哪种方式引入模块呢?
- 四、模块的搜索路径
- 4.1、临时添加
- 4.2、增加 `.pth` 文件(推荐)
- 4.3、在 `PYTHONPATH` 环境变量中添加
- 系列文章
- 热门专栏
大家好,我是水滴~~
本篇主要讲述 Python 中的模块,主要内容有:模块的概念、自定义模块、如何引用其它模块、以及模块的搜索路径。
一、什么是模块
通常情况,我们会把能够实现某一特定功能或一系列相关功能的代码,放到一个模块中,从而方便其他程序或脚本导入并使用,提高了代码的复用性。
Python 有很多自带的模块,称为标准库,通过它们可以实现很多常见的功能。例如:sys
、datetime
、os
、logging
等。
Python 还具有非常丰富的第三方模块,称为第三方库,通过它们可以实现很多特色的功能。例如:requests
、selenium
、PyPDF2
、matplotlib
、Django
等。
二、自定义模块
自定义模块首先要创建一个 Python 文件,文件命名为:模块名
+ .py
,其中模块名不能使用 Python 自带模块的名称。
下面我们 使用 IDLE 来创建一个模块:在 IDLE 菜单中选择【File】-【New File】,即可打开编辑窗口,在编辑窗口中编写模块的内容(下面模块中,实现了“加法”和“减法”两个函数)。
保存时,文件名即为模块名,下图将模块保存至 D:\IDLEProjects
目录中,模块名为 maths.py
。
这样,一个模块就创建好了。
三、引用其它模块
上面我们自定义了一个模块 maths.py
,那么我们该如何使用它呢?要使用它,首先就是引用它,即将模块加载到要使用的模块中。Python 有两个方式来引用模块:
3.1、使用 import
引用模块
我们在相同的目录中创建一个 tests.py
模块,并通过 import
来引入自定义的 maths
模块,下面就可以通过这个模块名来调用它的函数了,如下图:
执行该代码,输出结果如下图:
如果使用了别名,那么在使用的时候,就用别名来调用模块中的函数:
import maths as mprint(m.add(3, 1))
print(m.sub(3, 1))
3.2、使用 from...import
引用模块
前面使用 import
语句引入模块,必须使用模块名来调用对应的函数或变量,而 from...import
就不一样了,下面一起来看下。
使用 from...import
引入模块后,就可以不用加模块名,直接调用其中的函数了,如下图:
执行该代码,输出结果如下图:
下面代码引入 maths
模块中所有定义:
from maths import *print(add(3, 1))
print(sub(3, 1))
3.3、查看导入了哪些定义
上面使用 from maths import *
引入模块,就不知道引入了哪些定义。其实我们可以通过 Python 自带的函数 dir()
来查看当前模块导入了哪些定义,如:
from maths import *print(dir())
输出结果:
['__annotations__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'add', 'sub']
从输出结果可以看出,不但有模块自有的定义,还包含引入的 maths
模块中的两个函数。
3.4、该选择哪种方式引入模块呢?
上面介绍的两个引入模块的方式,我们该如何选择呢?
四、模块的搜索路径
上面例子中,maths.py
和 tests.py
模块在同一个目录下,所以可以引用。如果放在不同模块,还能引用吗?显然是不行的,因为模块引用时,是按照搜索路径来的。
可以使用 sys
模块的 path
变量来查看搜索路径:
import sysprint(sys.path)
输出结果:
['D:\\IDLEProjects', 'D:\\Python\\Python311\\Lib\\idlelib', 'D:\\Python\\Python311\\python311.zip', 'D:\\Python\\Python311\\Lib', 'D:\\Python\\Python311\\DLLs', 'D:\\Python\\Python311', 'D:\\Python\\Python311\\Lib\\site-packages']
第一个为当前模块的目录,其他为 Python 默认安装路径下的一些目录。
当然,我们也可以通过一些配置来引用不同目录下的模块,下面是三种方法:
4.1、临时添加
可以在模块中使用 sys.path.append()
方法临时添加一个目录。
import syssys.path.append('E:\temp')
该方式只对当前模块生效。
4.2、增加 .pth
文件(推荐)
在 Python 的安装目录中,找到 Lib\site-packages
目录(我的目录为:D:\Python\Python311\Lib\site-packages
),在该目录中添加一个 .pth
文件,文件名没有要求,内容为要添加的目录。
这种方式对当前 Python 版本生效,也是我们推荐的一种方式。
4.3、在 PYTHONPATH
环境变量中添加
还可以通过操作系统的环境变量来添加,增加一个系统变量 PYTHONPATH
,值为要添加的目录即可。
这种方式会对当前操作系统中,安装的所有 Python 版本生效。
系列文章
🔥 Python 基础(一):初识 Python
🔥 Python 基础(二):搭建 Python 开发环境
🔥 Python 基础(三):Python 集成开发工具 IDLE
🔥 Python 基础(四):基础语法
🔥 Python 基础(五):变量与常量
🔥 Python 基础(六):基本数据类型
🔥 Python 基础(七):常用运算符
🔥 Python 基础(八):流程控制语句
🔥 Python 基础(九):列表
🔥 Python 基础(十):元组
🔥 Python 基础(十一):集合
🔥 Python 基础(十二):字典
🔥 Python 基础(十三):函数
🔥 Python 基础(十四):类和对象
热门专栏
👍 《Python入门核心技术》
👍 《IDEA 教程:从入门到精通》
👍 《Java 教程:从入门到精通》
👍 《MySQL 教程:从入门到精通》
👍 《大数据核心技术从入门到精通》
本文链接:https://my.lmcjl.com/post/4984.html
4 评论