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 时间与日期计算
自定义模块 组织函数、自定义功能模块
相关推荐
andongni2039 分钟前
Spring Boot基础应用开发与部署
java·spring boot·后端
lupai15 分钟前
增值税发票 OCR 识别 API 新手接入指南
java·前端·ocr
TELL52116 分钟前
Sonar质量门禁
java
程序员杰哥18 分钟前
依赖于第三方接口时,如何进行测试?
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
java修仙传19 分钟前
从网页禅道到 AI 能调用的工具:我的禅道 MCP 实现思路分享
java·人工智能·python·ai应用·mcp开发
HAYDENR20 分钟前
依赖数据迁移工具做增量同步有哪些易错点?调整数据迁移工具策略怎么保证断点续传可靠?
java·大数据·数据库
reasonsummer21 分钟前
【办公类-120-01】20260812闵行区幼儿园概况表的数据统计(户籍、五类性质、优抚子女)
前端·python
IT利刃出鞘32 分钟前
SpringBoot--解决@Valid放在接口的List上时无效的问题
java·spring
mqiqe36 分钟前
AgentScope Java Harness:2. 上下文压缩:让长期 Agent 永不“失忆“
java·开发语言
梦想的旅途240 分钟前
企业微信API实战:Python自动化消息推送
java·前端·python·自动化·企业微信