假设我有一个绘图函数库,所有这些函数都需要在其他一些库中导入matplotlib。这样做会很麻烦:
def plot1(a,b,c,d):
import matplotlib
import matplotlib.pyplot as plt
...
...
def plot2(a,b,c,d):
import matplotlib
import matplotlib.pyplot as plt
...
...
字符串
有没有一种方法可以将import matplotlib(和其他)定义为一个函数,并简单地导入 that?举例来说:
script1.py
def load_matplotlib_funcs():
import matplotlib
import matplotlib.pyplot as plt
...
...
def plot1(a,b,c,d):
import load_matplotlib_funcs
...
型
这样做似乎不会产生使用matplotlib作为的预期结果。
1条答案
按热度按时间nr7wwzry1#
通常,你只需要把import放在文件的顶部,所有函数都可以访问它们:
字符串
我能想到的只有两个原因,你会想在流上导入模块:
您当然可以编写一个额外的文件来为您处理这些导入
的数据
一般情况下,没有理由进行按需导入。您可以保存一些导入时间,但您的代码将变得更容易出错(例如很久以后才检测到丢失的包)
使用stared import * 也会使IDE更难检查代码的正确性(以及您自己)。
或者,为了接近你最初的想法,你当然可以这样做,但是由于模块的变量是局部绑定的,你需要把它们带过来。对于多个功能,它将很快开始变得混乱:
型