IPython Basics
首先比一般的python shell更方便一些 比如某些数据结构的pretty-printed,比如字典 更方便的,整段代码的copy,执行
并且可以兼容部分system shell , 比如目录浏览,文件操作等
Tab Completion
这个比较方便,可以在下面的case下,提示和补全未输入部分
a. 当前命名空间中的名字
b.对象或模块的属性和函数
c. 文件路径
Introspection, 内省
?,在标识符前或后加上,显示出对象状况和docstring
??,显示出source code
?,在命名空间中search
比如用tab completion,对于numpy太多属性和函数,想用通配符*去search和过滤,但tab completion是不支持的,这时候用?
The %run Command
可以直接执行一个python脚本,
In [550]: %run ipython_script_test.py
如果脚本需要使用当前shell环境中定义的变量,使用
%run -i
Executing Code from the Clipboard
直接把整段代码,copy过来会有问题,需要加上%paste 或 %cpaste
执行%paste,会自动读取Clipboard的内容作为代码段,并执行,
%cpaste,可以随意粘帖任意多的代码, 最终用ctrl-d来结束输入,并执行
Keyboard Shortcuts
Magic Commands
IPython中定义的一些特殊命令,一般以%开头
如果以%%表示cell模式,即多行,比如%%timeit,可以测试多行的执行时间
使用%quickref or %magic,可以看到所有magic commands的介绍
如果没有冲突的情况下,不用加%,也是可以的(这个feature可以用%automagic来开关)
Matplotlib Integration and Pylab Mode
$ ipython --pylab
Using the Command History
a. 搜索history 这是用的最多的,用上下键来查找,并且上下键是支持,增量的,即输入开头,再用上下键搜索 但是有时候,只记得部分命令,不一定是开头,比如像搜索包含time的history命令,用ctrl+r
b. 快速引用历史的输入输出
用的比较多的是输出,_ (one underscore) and __ (two underscores) 分别表示,前一个,前两个命令的输出 也可以用_行号,来引用特定行的输出
引用特定行的输入,是_i行号
还可以用exec来执行特定的行
c. 整个执行过程记录到log
%logstart,%logstop
Interacting with the Operating System
Software Development Tools
IPython支持Debug,