Python模块与包(Package)概念及导入用法详解

咖啡半糖
咖啡半糖
发布时间:2026-10-11| 3人浏览过
原创

本文解析Python中模块与包的核心概念,详细对比import与from...import两种导入方式的区别。通过__init__.py文件说明包的创建机制,并演示如何正确调用包内函数与变量,帮助开发者规范代码结构。

模块的基本概念与导入方式

在Python中,模块(Module)是将多个函数或变量封装在一个文件中的基本单位。要使用模块中的功能,必须先将其引入当前环境。模块的使用通常涉及文件名与内部函数或变量的关联。

模块定义与基础调用

首先,我们需要定义一个包含函数和变量的模块文件(例如 funtions.py):

#定义函数
def show():
  print("jack")
#定义变量
name = "tom"

引入该模块后,可以通过 模块名.函数名 或 模块名.变量名 的方式访问内容:

import funtions

funtions.show() # 输出: jack
print(funtions.name) # 输出: tom

另一种导入方式:from...import

除了直接引入模块,还可以使用 from ... import * 语法将模块内的所有名称直接导入当前命名空间:

#另外一种导入方式
from funtions import *
show() # 输出: jack
print(name) # 输出: tom

两种导入方式的差异分析

要理解这两种方式的区别,可以通过打印局部变量符号表(locals())和全局变量符号表(globals())来观察:

#打印局部变量符号表
print(locals())
#打印全局变量符号表
print(globals())

使用 import 时,模块名作为命名空间存在;而使用 from ... import * 时,模块内的函数和变量名直接成为当前脚本的全局变量。这解释了为什么后者可以直接调用 show() 而无需前缀。

包(Package)的概念与创建

当模块数量增多时,使用包(Package)来管理模块是必要的。包允许将同名模块放入不同的包中,从而避免命名冲突。理解包的关键在于理解命名空间的作用。

创建包与 __init__.py 文件

在集成开发环境(IDE)中,可以通过右键选择 New Python Package 来创建包。创建包时,系统会自动生成一个名为 __init__.py 的文件。

__init__.py 文件的内容通常为空,但其存在具有关键意义:它标识该目录是一个包,而不是一个普通的目录。只有包含此文件的目录才能被Python识别为可导入的包。

包内模块的引入与调用

将模块放入包中后,引入方式会发生变化。假设我们有一个名为 common 的包,其中包含 funtions.py 模块:

#引入地址 包名.文件名
import common.funtions

common.funtions.show()

或者,可以使用更简便的导入方式:

from common.funtions import *
show() # 直接使用函数

通过 包名.文件名 指定模块路径,可以清晰地管理大型项目中的代码结构。

以上就是Python模块与包概念及导入用法的详细内容,更多关于Python基础教程的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。