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 时间与日期计算
自定义模块 组织函数、自定义功能模块
相关推荐
李慕婉学姐3 小时前
【开题答辩过程】以《基于JAVA的校园即时配送系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·开发语言·数据库
吃茄子的猫3 小时前
quecpython中&的具体含义和使用场景
开发语言·python
じ☆冷颜〃3 小时前
黎曼几何驱动的算法与系统设计:理论、实践与跨领域应用
笔记·python·深度学习·网络协议·算法·机器学习
想进部的张同学4 小时前
hilinux-3599---设备学习---以及部署yolo
学习·yolo·海思
数据大魔方4 小时前
【期货量化实战】日内动量策略:顺势而为的短线交易法(Python源码)
开发语言·数据库·python·mysql·算法·github·程序员创富
APIshop4 小时前
Python 爬虫获取 item_get_web —— 淘宝商品 SKU、详情图、券后价全流程解析
前端·爬虫·python
风送雨4 小时前
FastMCP 2.0 服务端开发教学文档(下)
服务器·前端·网络·人工智能·python·ai
效率客栈老秦4 小时前
Python Trae提示词开发实战(8):数据采集与清洗一体化方案让效率提升10倍
人工智能·python·ai·提示词·trae
哈里谢顿4 小时前
一条 Python 语句在 C 扩展里到底怎么跑
python
znhy_234 小时前
day46打卡
python