ipython magic介绍


ipython的magic相当实用, 而且在集成编辑器里(jupyter, vscode, spyder)中依然能够使用
之前只用了些皮毛, 这次系统总结一下
参考资料:
官方文档
dataquest的一篇文章
掘金推介

magic命令介绍

%xxx line magic
%%xxx shell magic 为在ipython命令行执行的命令, 在spyder代码块中无效,如%%time
将按照重要程度/实用程度分级
S

%debug 交互式debug, error时可以调用, 查看变量情况, 从此告别print(), break
%pdb 出现error时自动进入debug模式
%store	%store var, %store -r var这将使你能够在不同console之间传递变量, 在经常开多个console的spyder异常好用
%precision n 控制原生变量/numpy变量的打印精度
%pylab 可选--no-import-all, 将导入numpy, matplotlib, pylab, mlab, pyplot, display, figsize, getfigs
%sx, %system shell execute(或 !!, !)

A

%timeit 精确时间计算
%lsmagic	列举可用magic %quickref
%pprint pprint on/off
%load file.py, %loadpy,  插入外部文件中的代码
%run xx.ipynb
%history -n xxx, xxx例: 12, 4-6, 24/5, ~2/4-~1/2
%env var=xxx, var=$var, %set_env
%who, %who_ls		列出所有全局变量,可选参数为类名
%writefile xx.py 将以下代码写入目标文件, 可选参数-a, %cat 查看
%%time 计时(详细)
%psearch [options] PATTERN [OBJECT TYPE]

B

%automagic, %autocall 增加便利性的小开关
%cd %pwd %pushd
%colors 改变配色方案
%pip
%save

InteractiveShell

看别人的ipython notebook时, 经常不明所以地出现InteractiveShell, 这里详细总结一下
参考: 官方文档

from IPython.core.interactiveshell import InteractiveShell
# 在执行代码段时, 打印所有输出而非只有最后一个, 约等于matlab
InteractiveShell.ast_node_interactivity = "all"


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: `get_ipython().run_line_magic` 是 IPython 的一个内置函数,用于运行魔法命令。魔法命令是一种特殊的命令,可以在 IPython 中使用,以执行一些特殊的任务或访问特殊的功能。 下面是一个示例,在 IPython 中使用 `%timeit` 魔法命令来测试代码的运行时间: ``` # 在这里输入 Python 代码 %timeit my_function() ``` 在这个例子中,`my_function()` 是一个你要测试运行时间的函数。当你在 IPython 中运行这个代码时,IPython 将会使用 `%timeit` 魔法命令来测量 `my_function()` 的运行时间。 ### 回答2: get_ipython().run_line_magic()是IPython中的一个魔法函数(magic function),可以通过这个函数来执行IPython内置的一些特殊功能。在Jupyter Notebook环境下,这个函数将被称为 Jupyter 魔法(Jupyter magic),该函数的基本语法格式如下: get_ipython().run_line_magic(magic_name, argument) 其中,magic_name是魔法函数的名称,argument是传递给魔法函数的参数。该函数可以理解为一行特殊的代码,能够在IPython中执行特定的功能。在IPython中,我们可以使用魔法函数来简化代码的执行过程,例如命令行的复制、粘贴、批量执行代码等,从而提高效率和便利性。 可以使用get_ipython().run_line_magic()函数来执行不同的魔法函数,包括系统魔法、程序魔法、自定义魔法等。常用的一些魔法函数如下: %load 该魔法函数用来加载指定程序中的代码,其基本语法格式为%load filename。其中,filename是要加载的文件名称,可以是本地文件或者网络文件,例如github中的文件等。该函数执行时会读取文件中的代码,并把代码加载到IPython的当前运行环境中。 %run 该魔法函数用于直接运行文件,相当于在命令行窗口中执行外部脚本的命令。其基本语法格式如下:%run filename,其中filename是要运行的文件的名称。该函数执行后,会创建一个新的Python进程,运行指定的脚本,并将执行的结果返回给IPython。 %matplotlib 该魔法函数用于在IPython中启用Matplotlib图形库,并指定matplotlib图形的显示方式。例如,%matplotlib inline将图形嵌入到IPython的输出中显示,%matplotlib qt将图形显示在Matplotlib窗口中。 %time 该魔法函数用于计算程序代码的执行时间,通常用来评估程序性能。其基本语法格式为%time command,其中command是要计时的Python语句或表达式。该函数执行后,会计算command语句的执行时间,并将结果输出到IPython中。 总之get_ipython().run_line_magic()是一个非常方便的IPython内置函数,可以帮助我们更方便地调试、执行代码,提高生产效率。 ### 回答3: get_ipython().run_line_magic其实是IPython Shell内置的一个命令,可以让用户在Shell中运行魔法命令。在Jupyter Notebook或IPython中,魔法命令通常由“%”(行魔法命令)或“%%”(单元魔法命令)前缀来标识。 使用get_ipython().run_line_magic可以通过代码方式调用IPython Shell中的魔法命令。其语法格式为: ``` get_ipython().run_line_magic(magic_command, arguments) ``` 其中,magic_command是要运行的魔法命令,arguments是命令中的参数。 例如,如果想在Jupyter Notebook中使用"!中文"的方式执行shell命令"echo '中文'",可以使用以下代码: ``` get_ipython().run_line_magic('!', "echo '中文'") ``` 在上面的代码中,'!'是Jupyter Notebook中的行魔法命令前缀,"echo '中文'"是要执行的shell命令,它作为arguments传递给get_ipython().run_line_magic。 除了使用get_ipython().run_line_magic调用魔法命令外,还可以使用%和%%来直接在IPython Shell中执行魔法命令。例如,使用%cd命令可以切换当前工作目录: ``` %cd /home/user/directory ``` 使用%%timeit命令可以测试代码运行时间: ``` %%timeit for i in range(100000): sum(range(i)) ``` 在Jupyter Notebook和IPython Shell中都可以使用一些有用的魔法命令,例如%ls、%pwd、%env、%matplotlib等,这些命令可以大大提高用户的工作效率和体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值