You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python导入规范:跨多文件共享常量的正确导入方式

关于Python跨模块导入常量的规范选择

问题背景

项目结构如下:

  • /src/definitions.py:包含需要导入的常量A、B、C、D、E
  • /src/class.py:通过from .definitions import A, B, C导入部分常量,同时定义了MyClass
  • main.py:需要使用MyClass以及常量A、B、C、D、E

现有两种导入方式,哪种符合规范?

方式1

from src.class import MyClass
from src.definitions import A, B, C, D, E

方式2

from src.class import MyClass, A, B, C
from src.definitions import D, E

规范结论

方式1是符合Python导入规范的正确选择,原因如下:

  • 来源清晰直观:A、B、C的实际定义在definitions.py中,直接从源模块导入,能让阅读代码的人立刻明确这些常量的出处,不会误以为它们是class.py的产物。
  • 降低耦合风险:如果后续class.py不再需要A、B、C,移除了对应的导入语句,方式2的main.py会直接报错。直接从源模块导入能避免这种依赖传递带来的潜在问题。
  • 契合PEP8最佳实践:Python的PEP8规范建议,导入应直接指向定义目标的原始模块,而非通过中间模块间接导入,这样的代码更健壮、更易于维护。

内容的提问来源于stack exchange,提问作者Schelli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 07:51:18