IPython%运行与导入以加载设置

IPython%运行与导入以加载设置,python,ipython,jupyter-notebook,Python,Ipython,Jupyter Notebook,我无法通过搜索这些关键字找到任何有意义的东西,所以我在这里提问 IPython(在Jupyter笔记本中运行时)%run和Python的import之间的主要区别是什么?如果我想为多个笔记本导入一些设置(例如,Matplotlib),我应该使用哪一个?%run执行一个文件,就像您通过python命令在命令行上运行它一样 import按照它的说明,它将模块导入当前笔记本,允许您使用导入模块中的代码 听上去,既然你想导入设置,创建一个具有初始化设置功能的模块可能是最好的,因为它比事先运行文件更“py

我无法通过搜索这些关键字找到任何有意义的东西,所以我在这里提问


IPython(在Jupyter笔记本中运行时)
%run
和Python的
import
之间的主要区别是什么?如果我想为多个笔记本导入一些设置(例如,Matplotlib),我应该使用哪一个?

%run
执行一个文件,就像您通过
python
命令在命令行上运行它一样

import
按照它的说明,它将模块导入当前笔记本,允许您使用导入模块中的代码


听上去,既然你想导入设置,创建一个具有初始化设置功能的模块可能是最好的,因为它比事先运行文件更“pythonic”。

看来我来晚了一点。。。 对我来说,使用
导入
%run
之间最有意义的区别在于开发软件包时:“[使用
%run
]时,每次都会从磁盘重新读取文件,因此您对文件所做的更改会立即反映出来(与导入的模块不同,导入的模块必须专门重新加载)”


在实践中,这意味着当我对要测试的导入包进行更改时,需要重新启动笔记本内核,其中使用
%run
立即反映所有内容

%run
将所有变量加载到我的交互式命名空间中以供进一步使用。如果我的脚本中有一个
import matplotlib.pyplot as plt
,我可以稍后在笔记本中使用
plt
。所以我不太确定。我是说,这完全取决于你。你问了
%run
import
之间的区别,并征求了我的建议,我照做了。但你似乎已经下定决心了,因为当我给你2美分时,你捍卫了对方的立场。我不知道你在用它做什么,也不知道什么对你来说更容易,所以只需做你认为最好的事情。>“我想导入一些设置(比如Matplotlib)和多笔记本电脑”我对IPython和Python环境是新的,所以我征求了一些建议,尽管我可能有自己的意见。这取决于我。您不想在笔记本中重复的导入内容有多少?您对手动导入内容的容忍度是多少?对我来说,需要大量的导入才能证明使用
%run
是正确的,因为我更喜欢手动将它们导入笔记本,并使用一个模块来完成其余部分。据我所知,这是使用
%run
而不是
import
的唯一因素,因此这是您需要决定的。你可以同意或不同意我的意见。因此,我重申这是您的选择。
%run
类似于
导入*,但它也运行
if\uu name…
块。如果您想运行一个脚本,然后在脚本之后使用数据进行提取,那么它最有用;有点像用于常规Python运行的
-i
选项。