有很多次我想在我的脚本中使用相同的包,我主要从上一个脚本中复制粘贴包.我想停止这项工作并使用一个简单的函数运行所有主题,今天我试试这个:
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()
Run Code Online (Sandbox Code Playgroud)
函数运行没有错误,但是当我从包调用一些方法时,我得到这样的错误:名称'plt'没有定义
这段代码出了什么问题?无论如何定义功能来做到这一点?
这段代码出了什么问题?
简单回答:可变范围.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
Run Code Online (Sandbox Code Playgroud)
然后在你的其他代码(在同一目录中),
from importer import *
Run Code Online (Sandbox Code Playgroud)
但是,使用a __init__.py可能是推荐的方法,但是不清楚是否有模块/包布局.
如果你这样做,那就用吧
相对导入(相同目录):from . import *
绝对导入(使用模块名称):from some_module import *