07_模块和包
第7课:模块和包
课程目标
- 理解模块和包的概念
- 掌握模块的导入和使用方法
- 学习如何创建自己的模块和包
1. 模块基础
模块是一个包含Python代码的文件,可以被其他程序导入和使用。
2. 导入模块
# 导入整个模块
import math
print(math.pi)
print(math.sqrt(16))# 导入特定函数
from math import sqrt, pi
print(pi)
print(sqrt(25))# 给模块起别名
import math as m
print(m.pi)
3. 常用内置模块
3.1 math模块
import mathprint(f"π: {math.pi}")
print(f"平方根: {math.sqrt(16)}")
print(f"幂运算: {math.pow(2, 3)}")
print(f"向上取整: {math.ceil(3.7)}")
3.2 random模块
import randomprint(f"随机整数(1-10): {random.randint(1, 10)}")
print(f"随机浮点数(0-1): {random.random():.3f}")fruits = ["苹果", "香蕉", "橙子"]
print(f"随机水果: {random.choice(fruits)}")
3.3 datetime模块
from datetime import datetime, timedeltanow = datetime.now()
print(f"当前时间: {now}")
print(f"格式化时间: {now.strftime('%Y-%m-%d %H:%M:%S')}")future_time = now + timedelta(days=7)
print(f"7天后: {future_time}")
4. 创建自己的模块
# calculator.py
def add(a, b):return a + bdef subtract(a, b):return a - bdef multiply(a, b):return a * bdef divide(a, b):if b == 0:raise ValueError("除数不能为0")return a / b# 使用自定义模块
import calculator
print(calculator.add(10, 5))
5. 练习项目
项目:个人工具包
# tools/text_tools.py
def count_characters(text):return len(text)def count_words(text):return len(text.split())def remove_spaces(text):return " ".join(text.split())# tools/math_tools.py
def is_prime(n):if n < 2:return Falsefor i in range(2, int(n ** 0.5) + 1):if n % i == 0:return Falsereturn Truedef fibonacci(n):if n <= 0:return []elif n == 1:return [0]elif n == 2:return [0, 1]fib = [0, 1]for i in range(2, n):fib.append(fib[i-1] + fib[i-2])return fibdef main():print("=== 个人工具包演示 ===")sample_text = "hello world. this is a test."print(f"原文: {sample_text}")print(f"字符数: {count_characters(sample_text)}")print(f"单词数: {count_words(sample_text)}")print(f"7是质数: {is_prime(7)}")print(f"斐波那契数列(10): {fibonacci(10)}")if __name__ == "__main__":main()
6. 总结
本节课我们学习了:
- 模块和包的基本概念
- 模块的导入和使用方法
- 常用内置模块
- 如何创建自己的模块和包
7. 下节课预告
下节课我们将学习:
- 正则表达式基础
- 常用内置模块进阶
- 第三方库的安装和使用