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)
在附加模块中定义事物是完全可以的——变量、类、函数等。
\n导入模块时,只要您不使用from ... import *名称空间就不会变得混乱,并且您可以提取独立和/或重复的片段以获得更清晰的代码。
这几乎是模块的预期用途。
\n不太好的情况是,在导入时执行带有副作用的代码。这里给出了一个很好的例子,为什么这不是一个好主意:\n说 \xe2\x80\x9cno\xe2\x80\x9d 在 Python 中导入 side\xe2\x80\x90effects
\n