Real Python · Srujana Maddula
Python Circular Imports: Why They Happen and How to Fix Them
Python Circular Imports: Why They Happen and How to Fix Them是Real Python的免费文章(en)。前置条件:需熟悉 Python 的模块与包、类以及基本类型标注。
理解 Python 导入机制,能定位并修复模块间的循环导入错误。
Python
- 难度
- 见前置条件
- 类型
- 教程 · 文章
- 语言
- en
- 规模
- 1 个课节
- 内容费用
- 免费
- 动手
- 需要动手环境
使用限制
阅读文章无需账号;下载配套代码需提交邮箱,仅涉及补充材料。
- 补充内容
- 文章提供的配套示例代码需填写邮箱后下载
- 内容提示
- 原站推广:页面正文为完整教程,同时导航栏含“Unlock All Content and Become a Python Expert”会员入口与“Remove ads”提示,并推广 Live Courses、Books 等付费产品。
学完你能
- 说明 Python 导入模块时 sys.modules 的作用,以及模块为何会处于部分初始化状态
- 判断循环导入会表现为 ImportError 还是 AttributeError,并理解其原因
- 搭建一个复现循环导入的最小 shop 包项目并追踪导入顺序
- 通过重构依赖方向消除循环依赖,使导入单向流动
- 用 TYPE_CHECKING 保护仅用于类型标注的导入
适合你吗
适合
适合已能写 Python 模块和类、想弄清 import 机制并解决实际 ImportError 的中级学习者。
暂不适合
不适合零基础初学者,也不针对大型项目架构设计或打包发布。
需要先会
需熟悉 Python 的模块与包、类以及基本类型标注。
课程特点
- 内容侧重
- 按内容目录判断
- 练习与项目
- 在本地复现循环导入项目,按文章给出的修复步骤与变通办法逐个验证,并可用 mypy 检查 TYPE_CHECKING 写法。
- 学习时长
- 1 个课节原站未给出统一学习时长;实际用时取决于已有基础。
- 内容费用
- 免费节选中可直接读到完整正文与示例代码,页面只有导航栏会员入口和广告移除提示,未对本文章内容设付费墙。
常见问题
免费吗?
免费:节选中可直接读到完整正文与示例代码,页面只有导航栏会员入口和广告移除提示,未对本文章内容设付费墙。实践无额外费用:练习只需本地 Python 环境,网页未提及付费服务。
需要什么基础?
需熟悉 Python 的模块与包、类以及基本类型标注。软件、账号与硬件:本地安装 Python(示例面向 3.14,文章指出旧版本差异),可选安装 mypy 等静态类型检查工具。
有中文吗?
本站记录的语言是en;是否有中文字幕或译本本站未核实,请以原站为准。
怎么开始?
从原始资源入口开始:https://realpython.com/python-circular-imports/。本页“学前准备”列出环境与工具,“学习指南”给出开课提示词,可以在自己的电脑上按步骤开始。开课提示词尚未完整验证。补充内容需要自备:文章提供的配套示例代码需填写邮箱后下载。
来源与使用须知
- 原始资源
- Real Python
- 收录时间
- 本站首次收录 2026-10-28原站首次发布 2026-10-27
- 指南参考
- 课程主页
版权与转载
- 课程材料未标明许可:仅供个人学习,转载、修改或商用前请先联系原作者。
- 本站只提供原始链接和学习指南,不转载、不镜像课程材料;引用时请注明原作者与出处。