有很多次我想在我的脚本中使用相同的包,我主要是从我的上一个脚本中复制我想要的粘贴包。我想停止这项工作并使用一个简单的功能运行所有主题,今天我试试这个:
def econometrics():
print("Econometrics is starting")
import pandas as pd
import numpy as np
import statsmodels.formula.api as smf
import statsmodels.api as sm
import matplotlib.pyplot as plt
print("Econometrics is started")
econometrics()
该函数运行时没有错误,但是当我从包中调用某些方法时,出现如下错误: 名称“plt”未定义
这段代码有什么问题?有没有定义函数来做到这一点?
请您参考如下方法:
What is wrong with that code?
简单的答案:可变范围。 plt(和其他)只能从 econometrics 方法中访问。
尝试制作一个文件,例如命名为importer.py
import pandas as pd
import numpy as np
import statsmodels.formula.api as smf
import statsmodels.api as sm
import matplotlib.pyplot as plt
然后在您的其他代码中(即在同一目录中),
from importer import *
不过,使用 __init__.py 可能是推荐的方法,但不清楚您是否有模块/包布局。
如果你这样做,那么使用
相对导入(同一目录):from .导入 *
绝对导入(使用模块名称):from some_module import *
