Ipython 是一个 python 增强的交互式 shell,IPython 比 默认的thon shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。
安装
-
Ubuntu
-
通过
sudo apt-get install ipython
安装 -
通过
ipython
启动
-
-
通过
pip
安装pip install ipython
即可
Tab自动补全
在shell中输入表达式时,只要按下Tab键,当前命令控件中任何与输入的字符串相匹配的变量(对象、函数等)就会被找出来。
内省
在对象的前面或后面加上一个问号(?)就可以将有关该对象的一些通用信息显示出来。这就叫做对象的内省
-
一个问号(?)显示该对象信息,包括
Type
,Docstring
等 -
两个问号(??)若有将会显示该对象的源码
Source
- 一些字符串配以通配符(*)即可显示出所有与该通配符表达式相匹配的名称。
Ipython魔法
-
%run
-
%time
,%timeit
-
%paste
,%cpaste
-
%history
-
%autoreload
- 执行代码前 ipython 会帮我们自动重载改动的模块
调试ipdb
当程序发生异常时,使用 %debug
魔法即可进入引发异常的那个栈帧 stack frame
-
ipdb使用技巧
-
u(p)进入上一个栈
-
d(own)进入下一个栈
-
h(elp) 显示ipdb帮助信息
-
a(rgs) 打印当前函数的参数
-
j(ump) 让程序跳转到指定的行数
-
l(ist) 可以列出当前将要运行的代码块
-
n(ext) 让程序运行下一行,如果当前语句有一个函数调用,用 n 是不会进入被调用的函数体中的
-
p(rint) 最有用的命令之一,打印某个变量
-
q(uit) 退出调试
-
r(eturn) 继续执行,直到函数体返回
-
s(tep) 跟 n 相似,但是如果当前有一个函数调用,那么 s 会进入被调用的函数体中
-