【发布时间】:2020-02-21 04:41:15
【问题描述】:
当软件变得越来越大时,可能很难为每个“.py”文件建立一个干净的导入列表。因此,我想到的问题是,是否有任何最佳实践。为了更清楚地了解这个问题,假设我们有 5 个文件,他们使用 sklearn、numpy 等。现在,是否可以创建一个名为“stdafx.py”的文件,类似于我们在 C++ 中所做的,而不是在 5 个文件代码的顶部行中导入这些包中的每一个,使用
from stdafx import *
其中stdafx.py 是所有这些包的一批。换句话说,它将包含:
-----------------------------stdafx.py------------------------------------
import numpy as np
import pandas as pd
from tensorflow import keras
from X import Y
.
.
.
【问题讨论】:
-
我认为这行不通。导入是不可传递的,导入
stdafx.py不会使其导入的模块在原始脚本中可用。 -
仅供参考,许多有经验的程序员认为
stdafx.h是可憎的。每个程序都应该只包含它需要的标头,没有“一刀切”的标头。 -
@Barmar 是的,但是在大型项目中,您应该有几个共享功能的项目。因此,为它们分配一个共享标题列表并不是一个坏主意。当然,只要它不会对项目造成相当大的负担,它就可能是真的。出于好奇,我想知道该怎么做。
-
@MiladSkrdy 抱歉,我误解了你的问题。我修复了您的导入声明并删除了我的答案。这种技术在 python 项目中的任何地方都没有使用。 Barmar 是正确的:每个程序都应该只包含它需要的标题
标签: python software-design stdafx.h