简介
ipython是一个增强的Python交互解释器,它提供了一下功能:
- 动态对象自身:使用
?
或者??
获取对象的文档注释,函数的原型定义,源代码等等。 - 支持使用通配符*进行模块搜索
- 支持代码自动补全
- 支持历史命令
- 其他魔法命令
安装
pip install ipython
常用命令
下面四个命令在ipython中最为常用
命令 | 描述 |
---|---|
? | 介绍ipython的常用特性 |
%quickref | 快速引用 |
help | python自带的帮助命令 |
object? | object的详细信息,使用object?? 获取进一步信息 |
tab自动补全
在获取对象属性时,tab自动补全非常的有用,只需要输入object_name.<TAB>
就可以获取对象的属性。
对象自省
输入object_name?
将会输出对象所有的详细信息,包括文档注释,函数定义以及类的构造函数。如果需要获取特定的信息,可以使用魔法命令%pdoc, %pdef, %psource
以及%pfile
。
魔法函数
IPython内置了一些魔法函数,它分为两种:
- 基于行的行魔法函数,以%开头,它使用当前行的剩余部分作为参数,参数不需要使用括号括起来。
- 基于单元格的单元格魔法函数, 以%%开头,使用当前行剩余部分以及后面的行作为参数。
下面是魔法函数%timeit
的示例:
In [13]: %timeit range(1000)
100000 loops, best of 3: 8.63 µs per loop
In [14]: %%timeit x = range(1000)
...: max(x)
...:
10000 loops, best of 3: 22.8 µs per loop
内置的魔法函数包括如下几种:
- 作用于代码的函数:
%run
,%edit
,%save
,%macro
,%recall
等 - 作用于shell的函数:
%colors
,%xmode
,%autoindent
,%automagic
等。 - 其它函数,比如:
%reset
,%timeit
,%%writefile
,%load
,%paste
等。
如果当前命令只有一行,行魔法函数也可以省略%,但是单元格模范函数不能省略%%
。
使用%magic
获取获取IPython中魔法函数的详细介绍,如果需要获取某个魔法函数的详细信息,可以使用%somemagic?
命令,此外,还可以使用%lsmagic
获取所有的魔法函数。
运行与编辑
使用%run
命令来运行任意python脚本,使用%edit
编辑Python脚本。
调试代码
在异常出现之后,可以调用%debug
进入pdb模式,然后进行调试。
历史
IPython保存了输入的历史命令和输出结果,使用up键和down键可以轻松的访问历史命令。
历史命令保存在In变量中,历史输出保存在Out中,最后三天历史输出分别保存在,,和__中。
使用%history
可以列出历史命令。
调用系统shell命令
可以在ipython中调用任何系统shell命令,只需要添加前缀!即可。例如:
!ping www.baidu.com
启动脚本
可以将脚本放在profile_default/startup/目录中,之后每次启动ipython都会自动执行这些脚本。
绘图
在jupyter notebook中执行%matplotlib inline
之后,就可以在Out输出中展示matplotlib绘制的图片了。
网友评论