一、 IPython基础
1.1 代码自动补全:Tab键
可补全内容包括:变量名、函数名、成员变量函数、目录文件
1.2 内省(Itrospection)
在变量名之前或之后加上问号(?
),这样可以显示这个对象的相关信息。
-
如果这个对象是个函数或实例方法,那么它的
docstring
也会被显示出来。 -
使用
??
还将显示该函数的源代码 -
?还能搜索IPython命名空间。一些字符再配以通配符(
*
)即可显示出所有与其相匹配的名称。如,我们可以列出NumPy顶级命名空间中含有load的所有函数:np.*load*?
1.3 %run 命令
在IPython回话环境中,所有文件都可以通过%run命令当做Python程序来运行。
-
脚本的行为和在标准命令行环境(通过python xxx.py启动的)中执行时一样,此后,在文件中所定义的全部变量就可以子当前IPython shell中访问了。
-
如果Python脚本需要用到命令行参数,可以将参数放到文件路径后面
-
中断正在执行的代码:任何代码在执行时,只要按下Ctrl+C,就会引发一个KeyboardInterrupt。
1.4 执行剪贴板中的代码
在IPython中执行代码最简单的方式就是粘贴剪贴板中的代码。如果你不想为一段代码新建一个文件,那么可以试试这种方法。在windows中可以使用右键的粘贴命令粘贴,这会模仿IPython的多行输入功能。
1.5 键盘快捷键
Ctrl-C
终止当前正在执行的代码Ctrl-A/E
光标移动到行首/行尾Ctrl-U
清除当前行Ctrl-L
清屏
1.6 异常和跟踪
如果某段代码发生了异常,IPython默认会输出整个调用栈,还会附上调用栈各点附近的几行代码作为上下文参考。
上下文代码参考数量可由%xmode魔术命令进行控制,稍后还会介绍如如何进行调试。
1.7 魔术命令
IPython有一些特殊的命令。有的为常见任务提供便利,有的则使你能够轻松控制IPython系统的行为。
-
魔术命令是以百分号%为前缀的命令。
-
魔术命令可以看做运行于IPython系统中的命令行程序,它们大都还有一些参数选项。在命令后面加问号(
?
)可以查看。 -
魔术命令默认是可以不带百分号使用的,只要没有定义与其同名的变量即可。这个功能可以通过%automagic命令打开或者关闭。
-
通过
%quickref
或%magic
命令可以查看所有的命令。
常用的魔术命令如下:
%quickref
thon快速参考%magic
显示magic command详细文档%debug
从最新的异常跟踪的底部进入交互式调试器%hist
打印命令输入历史%pdb
在发生异常后自动进入调试器%paste
执行剪贴板中的Python代码%cpaste
打开一个特殊的提示符以便手工粘贴待执行的代码%reset
删除interactive空间中的全部变量/名称%run
执行一个python脚本%page
分页显示一个对象%time
报告statement执行的时间%timeit
多次执行statement以计算平均执行时间,用于执行时间非常小的代码。%who
、%who_is
、%whos
显示Interactive命名空间的中定义的变量,信息级别/冗余度可变%xdel
删除变量,并尝试清楚其在IPython中的对象上的一切引用
1.8 基于Qt的富GUI控制台
启动方法(同时开启绘图功能):
jupyter qtconsole
与终端应用程序相比,优点在于:
- 界面美观
- 支持内嵌图片显示
- 支持以标签页的形式启动多个IPython进程
- …
后面会详细介绍相关功能。