python包和模块的内容整理
2026/9/4 17:58:04 网站建设 项目流程

其中一个部分是, 模块属于含代码的文件, 另一个部分是, 包为含多款模块的目录, 还能借助.py予以识别;采取的方式是使用导入模块, 另外还有从...导入函数;在包里面能够采用相对或者绝对导入, 并且建议运用绝对导入以及精心进行命名, 从而去提升项目结构清楚程度以及可维护性能。

在程序里, 包()以及模块()属于组织相关代码的基本方式, 要是能够合理去运用, 即可让项目的结构变得清晰, 并且易于维护。对于编写规范的程序而言, 理解它们的定义、用法以及区别是非常重要的。

什么是模块()

包含代码的文件被称作模块, 其结尾通常是 .py , 它能够定义函数、类、变量, 还能够包含可执行代码, 在导入模块之后, 其中的内容便可以被使用。

例如,创建一个名为 .py 的文件:

# math_utils.py def add(a, b): return a + b

def multiply(a, b): return a * b

在另一个脚本中导入并使用:

import math_utils

print(math_utils.add(2, 3)) # 输出 5 from math_utils import multiply print(multiply(2, 4)) # 输出 8

什么是包()

包, 那个被称做包含多个模块的目录, 它是专门用来组织相关功能代码的。而要使得一个目录能够被精准识别为包, 那就必然得在这个特定的目录下面包含一个有着特定名称的被称做 .py 的文件, 这个文件, 它既可以是空空如也的状态, 当然, 也能够包含初始化代码。

例如,项目结构如下:

myproject/ │ └── utils/ ├── __init__.py ├── math_utils.py └── string_utils.py

其中 utils 是一个包,可以通过以下方式导入:

venv 3.14.2

采用3.14.2的64位官方安装包来使用venv, 在进行这么一番使用此安装包操作之后, 就能够借助标准库venv用以创建虚拟环境了。

下载

from utils.math_utils import add from utils import string_utils

以.py 来用于定义包的公开接口, 像是进行设置, 或者提前将常用模块导入:

# utils/__init__.py from .math_utils import add, multiply from .string_utils import to_upper

all= ['add', 'multiply', 'to_upper']

相对导入与绝对导入

在包的内部范围里, 模块之间能够相互进行导入操作。在运用相对导入这种方式时, 借助点这个符号来表示层级之间的关系。

例如,在 .py 中想使用 .py 的函数:

# string_utils.py from .math_utils import add

def process(): return add(1, 2)

留意, 相对导入仅仅能够于包之中运用, 不可以直接去运行涵盖相对导入的模块文件, 否则就会出现报错。

常见操作建议

大致就是这些, 把控模块以及包的运用情形, 便能够切实有效地构建项目架构格局, 进而全方位提高代码的可复用程度以及可阅读层次。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询