

文章目录
- [1. 模块的概念](#1. 模块的概念)
- [2. 模块的创建](#2. 模块的创建)
- [3. 模块的导入](#3. 模块的导入)
- [3.1 `import` 语句](#3.1
import
语句) -
- [3.2 `from...import` 语句](#3.2
from...import
语句) - [3.3 `from...import *` 语句](#3.3
from...import *
语句)
- [3.2 `from...import` 语句](#3.2
- [4. 模块的搜索路径](#4. 模块的搜索路径)
- [5. 模块的内置属性](#5. 模块的内置属性)
-
- [5.1 `name` 属性](#5.1
__name__
属性) - [5.2 `doc` 属性](#5.2
__doc__
属性)
- [5.1 `name` 属性](#5.1
- [6. 标准库模块](#6. 标准库模块)
-
- [6.1 `math` 模块](#6.1
math
模块) - [6.2 `random` 模块](#6.2
random
模块) - [6.3 `os` 模块](#6.3
os
模块)
- [6.1 `math` 模块](#6.1
- [7. 第三方模块](#7. 第三方模块)
-
- [7.1 安装第三方模块](#7.1 安装第三方模块)
- [7.2 使用第三方模块](#7.2 使用第三方模块)
正文
1. 模块的概念
在 Python 里,模块是一个包含 Python 定义和语句的文件,其文件名以 .py
结尾。模块可以定义函数、类和变量,还能包含可执行的代码。使用模块能够将代码组织成多个文件,增强代码的可维护性和可复用性。
2. 模块的创建
简单模块示例:
创建一个简单的模块,例如创建一个名为 math_operations.py
的文件,内容如下:
python
# math_operations.py
def add(a, b):
return a + b
def subtract(a, b):
return a - b
PI = 3.14159
在这个模块中,定义了两个函数 add
和 subtract
,还定义了一个常量 PI
。
3. 模块的导入
3.1 import
语句
使用 import
语句可以导入整个模块。导入后,可以使用模块名作为前缀来访问模块中的函数、类和变量。
python
import math_operations
result_add = math_operations.add(3, 5)
print(result_add)
result_subtract = math_operations.subtract(10, 4)
print(result_subtract)
print(math_operations.PI)
3.2 from...import
语句
使用 from...import
语句可以从模块中导入特定的函数、类或变量,导入后可以直接使用这些名称,无需加模块名前缀。
python
from math_operations import add, PI
result = add(2, 7)
print(result)
print(PI)
3.3 from...import *
语句
使用 from...import *
语句可以导入模块中的所有内容。不过这种方式可能会导致命名冲突,不建议在生产代码中大量使用。
python
from math_operations import *
result = subtract(8, 3)
print(result)
4. 模块的搜索路径
当使用 import
语句导入模块时,Python 会按照以下顺序搜索模块:
- 当前目录:Python 首先会在当前运行脚本所在的目录中查找模块。
- 环境变量
PYTHONPATH
包含的目录 :可以通过设置PYTHONPATH
环境变量来指定额外的模块搜索路径。 - Python 安装目录下的标准库目录:Python 自带的标准库模块会在这里被找到。
可以通过 sys.path
查看 Python 的模块搜索路径:
python
import sys
print(sys.path)
5. 模块的内置属性
5.1 __name__
属性
每个模块都有一个 __name__
属性,当模块作为脚本直接运行时,__name__
的值为 '__main__'
;当模块被其他模块导入时,__name__
的值为模块名。可以利用这个属性来区分模块是作为脚本运行还是被导入。
python
# math_operations.py
def add(a, b):
return a + b
if __name__ == '__main__':
result = add(2, 3)
print(result)
5.2 __doc__
属性
__doc__
属性用于获取模块的文档字符串,即模块文件开头用三引号括起来的说明性文字。
python
# math_operations.py
"""
这是一个用于数学运算的模块。
包含加法和减法函数。
"""
def add(a, b):
return a + b
import math_operations
print(math_operations.__doc__)
6. 标准库模块
Python 拥有丰富的标准库模块,这些模块提供了各种功能,例如文件操作、网络编程、数据处理等。以下是一些常用标准库模块的示例:
6.1 math
模块
提供了数学相关的函数和常量。
python
import math
result = math.sqrt(16)
print(result)
print(math.pi)
6.2 random
模块
用于生成随机数。
python
import random
random_number = random.randint(1, 10)
print(random_number)
6.3 os
模块
提供了与操作系统交互的功能,例如文件和目录操作。
python
import os
# 获取当前工作目录
current_dir = os.getcwd()
print(current_dir)
7. 第三方模块
除了标准库模块,Python 还有大量的第三方模块,这些模块可以通过包管理工具(如 pip
)进行安装和使用。例如,numpy
用于科学计算,pandas
用于数据处理和分析。
7.1 安装第三方模块
使用 pip
安装 numpy
模块:
bash
pip install numpy
7.2 使用第三方模块
python
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr)
以上是一个使用第三方模块的简单例子。
结语
感谢您的阅读!期待您的一键三连!欢迎指正!
