Python 通过模块(module)和包(package)来实现代码的组织和复用,使得开发者可以将功能拆分到不同的文件中,提高代码的可读性和可维护性。本文将介绍如何导入模块、使用内置模块、自定义模块以及管理第三方库。
1. 导入模块
Python 提供了多种方式导入模块:
1.1 import
语句
最常见的方式是使用 import
语句导入整个模块:
import math
print(math.sqrt(16)) # 输出: 4.0
这里导入了 math
模块,并通过 math.sqrt()
计算平方根。
1.2 from ... import ...
如果只需要模块中的某个特定函数或变量,可以使用 from ... import ...
:
from math import sqrt
print(sqrt(16)) # 直接调用 sqrt,无需 math.
1.3 from ... import *
可以使用 *
导入模块的所有内容:
from math import *
print(sin(1), cos(1)) # 直接调用 sin 和 cos
⚠️ 注意:from ... import *
可能会导致命名冲突,因此不推荐在大型项目中使用。
1.4 为模块取别名
可以使用 as
关键字为模块取一个简短的别名:
import numpy as np
arr = np.array([1, 2, 3])
print(arr)
2. Python 内置模块
Python 提供了大量的内置模块,无需安装即可使用。这里介绍 math
、random
和 datetime
模块的常见用法。
2.1 math
模块
math
模块提供了数学运算相关的函数:
import math
print(math.pi) # 圆周率 3.141592653589793
print(math.e) # 自然对数的底 2.718281828459045
print(math.sqrt(25)) # 计算平方根 5.0
print(math.pow(2, 3)) # 幂运算,等同于 2 ** 3
print(math.ceil(4.2)) # 向上取整 5
print(math.floor(4.8)) # 向下取整 4
2.2 random
模块
random
模块用于生成随机数:
import random
print(random.randint(1, 10)) # 生成 1 到 10 之间的随机整数
print(random.random()) # 生成 0 到 1 之间的随机浮点数
print(random.choice(['A', 'B', 'C'])) # 随机选择一个元素
print(random.sample(range(100), 5)) # 从 0-99 中随机选取 5 个数
random.shuffle([1, 2, 3, 4, 5]) # 打乱列表顺序
2.3 datetime
模块
datetime
模块用于处理日期和时间:
from datetime import datetime, timedelta
now = datetime.now() # 获取当前时间
print(now)
formatted = now.strftime("%Y-%m-%d %H:%M:%S") # 格式化日期
print(formatted)
future = now + timedelta(days=7) # 计算 7 天后的日期
print(future)
3. 自定义模块与 __name__
变量
3.1 创建自定义模块
你可以创建自己的模块,将相关的函数和变量放入一个 .py
文件中。例如,新建一个 mymodule.py
:
# mymodule.py
def greet(name):
return f"Hello, {name}!"
PI = 3.14159
在另一个 Python 文件或交互式环境中使用该模块:
import mymodule
print(mymodule.greet("Alice")) # Hello, Alice!
print(mymodule.PI) # 3.14159
3.2 __name__
变量
Python 每个模块都有一个 __name__
变量,它表示当前模块的名称。如果模块被直接运行,则 __name__
取值为 "__main__"
,否则它的值是模块的名称。
# mymodule.py
def greet(name):
return f"Hello, {name}!"
if __name__ == "__main__":
print(greet("Alice")) # 只有在直接运行 mymodule.py 时才会执行
好处:
- 直接运行文件时,执行
if
语句内的代码。 - 作为模块被导入时,不会执行
if
语句内的代码。
4. pip
和第三方库管理
Python 拥有一个强大的第三方库生态系统,可以使用 pip
来安装和管理库。
4.1 检查 pip
版本
pip --version
4.2 安装第三方库
pip install requests
示例:安装 numpy
pip install numpy
在 Python 中使用:
import numpy as np
arr = np.array([1, 2, 3])
print(arr)
4.3 升级已安装的库
pip install --upgrade requests
4.4 查看已安装的库
pip list
4.5 卸载库
pip uninstall requests
4.6 使用 requirements.txt
在项目中,通常会创建一个 requirements.txt
文件,列出所有需要安装的库:
numpy
pandas
requests
然后批量安装:
pip install -r requirements.txt
本文介绍了 Python 的模块与包的使用,包括:
- 如何导入模块 (
import
、from ... import ...
、as
取别名) - 常见的 Python 内置模块(
math
、random
、datetime
) - 如何创建自定义模块,并使用
__name__
变量控制模块的运行方式 - 如何使用
pip
来管理第三方库
掌握模块与包的概念,将帮助你更高效地编写 Python 代码,并更方便地复用已有的功能模块。在实际项目中,合理地组织代码,提高代码的可维护性和可读性,是成为优秀 Python 开发者的重要一步。
更多请关注公众号“学GIS的小宝同学”