6个月Python学习计划 Day 10 - 模块与标准库入门

第一周

Day 1 - Python 基础入门 & 开发环境搭建
Day 2 - 条件判断、用户输入、格式化输出
Day 3 - 循环语句 + range 函数
Day 4 - 列表 & 元组基础
Day 5 - 字典(dict)与集合(set)
Day 6 - 综合实战:学生信息管理系统
Day 7 - 复盘 + 测试日

第二周

Day 8 - Python 函数基础
Day 9 - 函数进阶用法


🎯 今日目标:

  1. 理解模块是什么、为什么使用模块
  2. 学会导入模块(内置、自定义)
  3. 熟练使用 mathrandomdatetime 模块
  4. 编写并导入一个自定义模块(如:判断质数、字符串反转)

🧩 一、什么是模块(Module)?

模块是 Python 文件,包含了函数、变量和类等内容。通过模块化,我们可以分文件组织代码、复用逻辑,提升代码的可维护性。

✅ 模块的基本使用

python 复制代码
# 假设 hello.py 中定义了以下函数:
def say_hello(name):
    print(f"你好,{name}!")
python 复制代码
# main.py 中导入使用
import hello

hello.say_hello("小明")  # 输出:你好,小明!

✳️ 常见导入方式

python 复制代码
import math                  # 导入模块
from math import sqrt        # 导入模块中某个函数
from math import *           # 导入模块中所有内容(不推荐)
import math as m             # 给模块起别名

📦 二、常用标准库简介(内置模块)

  1. math 数学库

    python 复制代码
    import math
    
    print(math.sqrt(16))      # 4.0
    print(math.ceil(3.2))     # 4
    print(math.floor(3.9))    # 3
    print(math.pi)            # 3.141592653...
  2. random 随机数模块

    python 复制代码
    import random
    
    print(random.randint(1, 10))           # 随机整数 1~10
    print(random.choice(['a', 'b', 'c']))  # 随机选择一个
    print(random.shuffle([1, 2, 3, 4]))    # 打乱列表顺序
  3. datetime 日期时间模块

    python 复制代码
    import datetime
    
    now = datetime.datetime.now()
    print("当前时间:", now)
    
    delta = datetime.timedelta(days=7)
    next_week = now + delta
    print("一周后:", next_week)

🛠 三、自定义模块实战(练习)

步骤:

  1. 创建一个模块 tools.py,写一个函数 is_prime(n) 判断是否是质数。

  2. 在主程序中导入并测试。

    python 复制代码
    # tools.py
    def is_prime(n):
        if n < 2:
            return False
        for i in range(2, int(n**0.5)+1):
            if n % i == 0:
                return False
        return True
    python 复制代码
    # main.py
    from tools import is_prime
    
    print(is_prime(7))  # True
    print(is_prime(10)) # False

📌 今日练习任务

  1. 导入 math 模块,输出圆周率、开平方和取整函数结果。

    python 复制代码
    import math
    
    # 圆周率
    print("圆周率:", math.pi)
    
    # 计算 16 的平方根
    print("16 的平方根:", math.sqrt(16)) 
    
    # 向上取整
    print("向上取整 3.2:", math.ceil(3.2))
    
    # 向下取整
    print("向下取整 3.9:", math.floor(3.9)) 
    		
  2. 使用 random 模块生成 5 个 1~100 的随机整数。

    python 复制代码
    import random
    
    print("5 个随机整数:")
    for _ in range(5):
        print(random.randint(1, 100)) 

    输出结果:

    python 复制代码
    5 个随机整数:
    52
    80
    8
    73
    43
  3. 使用 datetime 模块获取当前时间,并计算 100 天后的日期。

    python 复制代码
    import datetime
    
    now = datetime.datetime.now()
    print("当前时间:", now)
    
    delta = datetime.timedelta(days=100)
    future = now + delta
    print("100 天后是:", future)

    输出结果:

    python 复制代码
    当前时间: 2025-05-31 21:34:56.669295
    100 天后是: 2025-09-08 21:34:56.669295
  4. 创建一个 my_utils.py 文件,写一个函数 reverse_str(s) 返回字符串反转结果,主程序中调用它。

    🔧 文件:my_utils.py

    python 复制代码
    # my_utils.py
    
    def reverse_str(s):
        """
        返回字符串的反转结果
        """
        return s[::-1]

    🧪 主程序调用:main.py

    python 复制代码
    # main.py
    from my_utils import reverse_str
    
    text = "Hello Python"
    print("原始字符串:", text)
    print("反转后:", reverse_str(text))

    输出结果:

    python 复制代码
    原始字符串: Hello Python
    反转后: nohtyP olleH

✅ 小结表格

模块 功能简介
math 数学函数(平方根、π、取整)
random 随机数生成与处理
datetime 时间与日期计算
自定义模块 组织函数、自定义功能模块
相关推荐
叫我Zoe就行4 分钟前
MySQL集群——主从复制
linux·数据库·学习·mysql
Source.Liu9 分钟前
【Python基础】 19 Rust 与 Python if 语句对比笔记
笔记·python·rust
维斯路27 分钟前
ANSYS 热力耦合计算
学习
工业互联网专业31 分钟前
基于Spark的新冠肺炎疫情实时监控系统_django+spider
python·spark·django·vue·毕业设计·源码·课程设计
Yh87020336 分钟前
2025年经济学专业女生必考证书指南:打造差异化竞争力
python
BYSJMG44 分钟前
大数据毕业设计推荐:基于Spark的零售时尚精品店销售数据分析系统【Hadoop+python+spark】
大数据·hadoop·python·spark·django·课程设计
一只韩非子1 小时前
Spring AI Alibaba 快速上手教程:10 分钟接入大模型
java·后端·ai编程
叫我阿柒啊1 小时前
从Java全栈到云原生:一场技术深度对话
java·spring boot·docker·微服务·typescript·消息队列·vue3
ONLYOFFICE1 小时前
【技术教程】如何将文档编辑器集成至基于Java的Web应用程序
java·编辑器·onlyoffice
醉方休1 小时前
python 自动化在web领域应用
python