Python 基础入门 Day35

77次阅读
没有评论

共计 1702 个字符,预计需要花费 5 分钟才能阅读完成。

欢迎来到 Python 基础入门 Day35
今天我们进入一个非常重要的话题:Python 项目结构与模块化开发
掌握良好的项目组织方式是成为一名优秀 Python 开发者的重要一步!


目录

  1. 为什么需要项目结构?
  2. 一个标准的 Python 项目布局
  3. 模块与包的基本概念
  4. __init__.py 文件的作用
  5. 示例:搭建一个简单的项目
  6. 小结与练习

一、为什么需要项目结构?

在项目初期,也许只有一个 .py 文件;
但随着功能增加,代码量爆发,维护变得困难:

  • 文件太多,难以查找
  • 函数、类重名,易出错
  • 导入路径混乱
  • 测试困难
  • 新人接手项目困难

因此,从一开始就养成良好的组织习惯,是非常有必要的!


二、一个标准的 Python 项目布局

一般推荐如下目录结构:

my_project/
│
├── README.md         # 项目介绍
├── requirements.txt  # 项目依赖
├── setup.py          # 安装脚本(可选)│
├── my_project/       # 项目主代码(同名文件夹)│   ├── __init__.py
│   ├── module1.py
│   └── module2.py
│
├── tests/            # 测试代码
│   ├── __init__.py
│   └── test_module1.py
│
└── data/             # 数据文件(可选)

注意

  • 项目主代码一般放在与项目同名的文件夹下。
  • tests/ 目录专门放测试文件。
  • README.md 介绍项目基本信息。

三、模块与包的基本概念

3.1 模块(Module)

  • 模块 就是 .py 文件。
  • 里面可以定义函数、类、变量,也可以直接执行代码。

示例 math_utils.py

def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

使用时导入:

import math_utils

print(math_utils.add(3, 5))  # 输出 8

3.2 包(Package)

  • 就是 包含 __init__.py 文件的文件夹
  • 包可以包含多个模块,也可以嵌套子包。

例子:

my_project/
    utils/
        __init__.py
        file_utils.py
        string_utils.py

导入时:

from utils import file_utils

或者

from utils.file_utils import some_function

四、__init__.py 文件的作用

  • 告诉 Python:这个目录是一个包。
  • 可以为空文件,也可以执行一些初始化逻辑。
  • 也可以在里面集中导入子模块,方便外部使用。

示例 __init__.py

from .file_utils import read_file
from .string_utils import capitalize_words

这样就可以直接这样使用:

from utils import read_file

而不用再写 utils.file_utils.read_file


五、示例:搭建一个简单的项目

假设我们想创建一个处理数学运算的小项目:

目录结构:

simple_calc/
│
├── simple_calc/
│   ├── __init__.py
│   ├── addition.py
│   └── subtraction.py
│
└── main.py

addition.py

def add(a, b):
    return a + b

subtraction.py

def subtract(a, b):
    return a - b

__init__.py

from .addition import add
from .subtraction import subtract

main.py

from simple_calc import add, subtract

print(add(10, 5))      # 输出 15
print(subtract(10, 5)) # 输出 5

✅ 这样结构清晰,模块职责单一,易于维护。


六、小结与练习

今日小结

  • 理解了为什么需要合理组织项目结构。
  • 学习了模块(.py 文件)和包(带 __init__.py 文件夹)的概念。
  • 知道了如何搭建简单规范的 Python 项目。

今日练习

  1. 自己新建一个小项目,按照标准目录布局。
  2. 创建至少两个模块,分别实现不同功能,比如字符串处理、日期处理。
  3. 写一个简单的 main.py 文件调用这些模块。
  4. 尝试写一个 tests/ 文件夹,放入测试脚本。
正文完
 0
评论(没有评论)