Python基础语法7-模块与包

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 提供了大量的内置模块,无需安装即可使用。这里介绍 mathrandomdatetime 模块的常见用法。

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 的模块与包的使用,包括:

  • 如何导入模块 (importfrom ... import ...as 取别名)
  • 常见的 Python 内置模块mathrandomdatetime
  • 如何创建自定义模块,并使用 __name__ 变量控制模块的运行方式
  • 如何使用 pip 来管理第三方库

掌握模块与包的概念,将帮助你更高效地编写 Python 代码,并更方便地复用已有的功能模块。在实际项目中,合理地组织代码,提高代码的可维护性和可读性,是成为优秀 Python 开发者的重要一步。

更多请关注公众号“学GIS的小宝同学”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值