Python:依赖导入来执行代码是一个好习惯吗?

woj*_*ech 5 python architecture import

在 Python 中,像下面的示例一样,依赖 import 来执行代码是一个好习惯吗?

中的代码mod.py应该加载一些配置,并且只需要执行一次。它可以使用更复杂的逻辑,但其目的是建立一些参数的值,稍后用作配置main.py

# --- mod.py ---
param1 = 'abc'
param2 = 'def'
# ...


# --- main.py ---
import mod

p1 = mod.param1
p2 = mod.param2
# (then calls functions from other components, which use p1, p2, ... as arguments)
Run Code Online (Sandbox Code Playgroud)

mat*_*cja 8

在附加模块中定义事物是完全可以的——变量、类、函数等。

\n

导入模块时,只要您不使用from ... import *名称空间就不会变得混乱,并且您可以提取独立和/或重复的片段以获得更清晰的代码。

\n

这几乎是模块的预期用途。

\n

不太好的情况是,在导入时执行带有副作用的代码。这里给出了一个很好的例子,为什么这不是一个好主意:\n说 \xe2\x80\x9cno\xe2\x80\x9d 在 Python 中导入 side\xe2\x80\x90effects

\n