我爱编程

IPython的使用(二)

2018-08-09  本文已影响310人  5f2a6061653d

IPython魔术命令

IPython之所以比默认的“Python shell”交互性更强、使用更方便,是因为IPython中包含很多使用方便的魔术命令,接下来重点讲解其中比较常用的一些魔术命令。

%run命令

在IPython会话环境中,所有文件都可以通过%run命令来运行Python程序,输入“%run 路径+Python文件名称”即可,具体如下所示。
先在D:\py文件中创建1.py文件,代码如下:

 lst = [i for i in range(100) if i % 2 == 0]
 print(lst)

然后在IPython会话环境下输入%run命令,代码如下:

%run D:\py文件\1.py

上述案例实现了将100以内的偶数输出,使用%run命令来执行单个Python文件,上述案例运行结果如下图所示。


运行结果.jpg

%timeit与%time命令

在一个交互式会话中,使用%timeit魔术命令可快速测量代码运行时间。相同的命令会在一个循环中多次执行,多次运行时长的平均值作为该命令的最终评估时长。-n选项可以控制命令在单词循环中执行的次数,-r选项控制执行循环的次数。
上述%timeit是多次执行代码的平均时间,而%time命令是一次执行代码的总体时间。

%paste命令

%paste命令是将剪切板中复制的代码直接粘贴到IPython中并自动执行,具体如下所示:
记事本文件中编写了一个计算a、b两数之和的代码,如下图所示。现将文件中代码进行复制(Ctrl+C)。


记事本中代码.jpg

之后在IPython中输入命令%paste并直接回车(Enter键),如下图所示。


%paste命令的使用.jpg
输入a、b(5、6)值后执行结果如下图所示。
输入a、b值的执行结果.jpg

%cpaste命令

%cpaste命令与%paste命令类似,也是粘贴文本,但有所不同的是%cpaste命令在输入后会出现提示信息,如下图所示。

%cpaste命令提示信息.jpg
图中提示信息的意思是可不断粘贴代码到IPython中,直到输入“--”并回车或使用Ctrl+D结束粘贴,粘贴过程如下图所示。
粘贴代码.jpg
将所有需粘贴的代码粘贴完成后,输入“--”并回车,结束粘贴,如下图所示。
结束粘贴.jpg
在上图中,当结束了代码的粘贴,程序直接自动执行,因此输入a、b(5,6)的值之后运行结果如下图所示。
程序粘贴完成直接自动运行.jpg
%cpaste命令在需粘贴的代码量比较大时,可实现代码的分步粘贴,粘贴完成可手动结束,且不用担心代码被提前执行,极大方便了操作者。
注意:在粘贴过程中,若遇到粘贴代码出现错误,须终止程序,可使用Ctrl+C提前终止%cpaste命令的提示符。

%reset命令

%reset命令是指删除interactive命名空间中全部的变量名(interactive命名空间是存储Python变量和名称的空间)。%reset命令的使用如下图所示。


%reset命令的使用.jpg

在上图中,程序定义了变量a和b,并可直接输出变量a和b的值。当执行%reset命令并输入“y”(表示同意删除变量)后,再输出变量a和b程序直接报错,说明%reset命令已经将变量删除。

%xdel命令

%xdel命令是删除单个变量的引用。%xdel命令的使用如下图所示。


%xdel命令的使用.jpg

在上图中,定义了a、b两个变量,并分别赋值为3、5,在使用%xdel命令之前,变量a,b均可正常调用,但当使用%xdel命令删除变量b之后,再调用变量a正常输出3,调用变量b则直接报错,说明变量b已被删除。

%hist命令

%hist命令是查看历史的命令。%hist命令的使用如下图所示。


%hist命令的使用.jpg

在上图中,执行%hist命令,然后直接回车,IPython将历史内容直接输出。

其他常见的魔术命令

%pdb命令

IPython带有一个强大的调试器,无论何时控制台抛出了异常,都可使用%debug魔术命令在异常点启动调试器,接下来就能在调试模式下访问所有的本地变量和整个栈回溯,可使用u和d来向上和向下访问栈,使用q退出调试器。在调试器中输入?可查看所有可用命令。
同时也可使用%pdb魔术命令来激活IPython调试器,如此,每当异常抛出时,调试器就会自动运行。

%pylab命令

%pylab魔术命令可使NumPy和Matplotlib中的科学计算功能生效,这些功能被称为基于向量和矩阵的高效操作、交互可视化特性。它能够让开发人员在控制台进行交互式计算和动态绘图。

%logstart命令

%logstart命令是开启IPython日志,其中使用格式为“%logstart [logname [logmodel]]”,其中“[]”中内容为可选,logname是日志的保存路径,logmodel是日志模式,共分为四种,over:若存在log,则直接覆盖之前的log;backup:默认模式,若存在log则直接将之前的log备份;append:在之前log中追加;rotate:回滚。

%magic命令

%magic命令是查看魔术命令,执行%magic命令可直接显示所有魔术命令的详细文档。

%debug命令

从最新的异常跟踪的底部进入交互调试器。

%quickref命令

显示IPython的快速参考。

上一篇下一篇

猜你喜欢

热点阅读