返回资源列表

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 导入机制,能定位并修复模块间的循环导入错误。

打开官方课程
难度
见前置条件
类型
教程 · 文章
语言
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
指南参考

版权与转载

  • 课程材料未标明许可:仅供个人学习,转载、修改或商用前请先联系原作者。
  • 本站只提供原始链接和学习指南,不转载、不镜像课程材料;引用时请注明原作者与出处。