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 分钟前
深入剖析C#构造函数执行:基类调用、初始化顺序与访问控制
java·数据库·c#
简简单单做算法9 分钟前
基于mediapipe深度学习的虚拟画板系统python源码
人工智能·python·深度学习·mediapipe·虚拟画板
小鹭同学_25 分钟前
Java基础 Day27
java·开发语言
EdmundXjs32 分钟前
IO Vs NIO
java·开发语言·nio
翻滚吧键盘36 分钟前
Spring Boot,注解,@ComponentScan
java·数据库·spring boot
保持学习ing39 分钟前
黑马Java面试笔记之框架篇(Spring、SpringMvc、Springboot)
java·笔记·spring·面试·mvc·mybatis·springboot
还是鼠鼠41 分钟前
单元测试-断言&常见注解
java·开发语言·后端·单元测试·maven
爱喝喜茶爱吃烤冷面的小黑黑1 小时前
小黑大语言模型应用探索:langchain智能体构造源码demo搭建1(初步流程)
java·语言模型·langchain
cainiao0806051 小时前
Spring Boot 4.0实战:构建高并发电商系统
java·spring boot·后端
虾球xz1 小时前
CppCon 2014 学习:Decomposing a Problem for Parallel Execution
开发语言·c++·学习