上一期小练习解答(第4期回顾)
✅ 练习1:判断偶数函数
def is_even(num):
return num % 2 == 0
print(is_even(4)) # True
print(is_even(5)) # False
✅ 练习2:求平均值
def avg(*scores):
return sum(scores) / len(scores)
print(avg(85, 90, 95)) # 输出 90.0
✅ 练习3:lambda 表达式排序
words = ["apple", "kiwi", "banana", "pear"]
words.sort(key=lambda x: len(x))
print(words) # ['kiwi', 'pear', 'apple', 'banana']
本期主题:模块、包与标准库
模块和包是 Python 中代码复用的关键机制,理解它们能帮助你构建更大的工程。
5.1 什么是模块(module)
模块是一个 .py
文件,内部定义了变量、函数、类等。
✅ 示例:
假设我们有一个文件 math_utils.py
:
# math_utils.py
def add(a, b):
return a + b
def sub(a, b):
return a - b
我们可以在另一个文件中使用它:
import math_utils
print(math_utils.add(3, 4)) # 输出 7
5.2 模块导入方式
✅ 方式1:导入整个模块
import math
print(math.sqrt(9))
✅ 方式2:导入模块中特定成员
from math import sqrt
print(sqrt(9)) # 直接使用 sqrt
✅ 方式3:导入并起别名
import numpy as np
print(np.array([1, 2, 3]))
5.3 自定义模块
你可以自己创建模块,只需将函数或类写在 .py
文件中即可。比如创建 my_utils.py
:
def greet(name):
print(f"Hello, {name}")
在主程序中使用:
import my_utils
my_utils.greet("Tom")
✅ 注意:自定义模块需放在当前目录或 Python 路径中才能被导入。
5.4 包(package)
包是一个包含 __init__.py
文件的文件夹,它可以包含多个模块或子包。
✅ 示例结构:
my_package/
├── __init__.py
├── file1.py
├── file2.py
使用方式
from my_package import file1
file1.function_name()
5.5 Python 标准库简介
Python 自带了很多强大的标准库,不需安装,直接导入即可。
模块 | 用途 |
---|---|
os |
文件/目录操作 |
sys |
系统参数和环境 |
math |
数学计算 |
random |
随机数 |
datetime |
时间处理 |
re |
正则表达式 |
json |
读写 JSON |
collections |
高级数据结构 |
✅ 示例:使用 random
生成随机数
import random
print(random.randint(1, 100)) # 1 到 100 之间的随机整数
5.6 第三方库的安装和导入(扩展知识)
通过 pip
命令可以安装第三方库:
pip install requests
安装后即可在代码中导入使用:
import requests
response = requests.get("https://www.example.com")
print(response.status_code)
本期小练习
创建一个模块
string_tools.py
,编写一个函数reverse_string(s)
,返回字符串反转结果。编写一个包
my_math
,其中包含basic.py
和advanced.py
两个模块,分别定义加法函数和平方根函数。使用标准库
random
随机生成一个长度为6的验证码(由数字和字母组成)。
小结:
这一期你了解了 Python 模块和包的基本概念、导入方式、如何自定义模块与包,并初步接触了标准库和第三方库。
这为你构建更大规模的 Python 项目打下基础!
第6期预告:
下一期我们将进入:
文件读写操作
文本处理基础
with语句和文件关闭机制