胶水Python

IPython基础使用

2018-12-22  本文已影响20人  爱折腾的大懒猪
  • In [x] 输入输出显示
  • Tab补全与自动缩进
  • 方便的帮助???
  • 使用历史
  • Shell命令和魔术命令
    • %edit编辑文件并运行
    • %run命令运行脚本
    • %timeit快速计算运行时间
    • %pylab进行交互式计算
  • 常用的魔术命令
  • 默认快捷键

IPython是增强的python交互shell, 比默认的Python shell要强大得多, 支持自动补全, 自动缩进, bash命令, 魔术命令, 更强大的历史查看等等. 同时, ipython也是Jupyter的核心组件, 是使用Jupyter进行强大的科学计算和交互可视化的最佳平台.

IPython的安装可以参考Python基础2: 基础知识和使用 或其他相关资料.
IPython和Jupyter (Notebook)间的关系也可以参考上面的链接.

In [x] 输入输出显示

IPython支持所有Python Shell 的功能, 在输入输出时, IPython会使用In [x]Out [x]表示输入输出,并表示出相应的序号。这个x的数字是两个保存历史信息的变量, 可以使用历史来追溯. 这个In [x]Out [x]也是Jupyter Notebook的运行顺序标志.

In [x] 输入输出显示

Tab补全与自动缩进

属性方法调用提示

另外, ipython还支持通配符*. 例如输入*Error?然后确认 (需要最后一个?结尾). 可以列出结尾为Error匹配的对象. 这有时比一般补全和调用提示还要强大.

方便的帮助

这是ipython特色功能, IDLE都没有. 使用???可以快速获取命令/函数或者变量的相关帮助.

??显示源代码帮助

使用help方法获得的帮助信息往往比???更多(但不显示源代码,类型等), 例如可以列出详细的对象所拥有的属性和方法.
试一试: 输入help(str)来查阅字符串类型str的帮助, 也再试试上述示例的三个对象range,hello,bhelp查看.

使用历史

In [1]: 12 ** 2
Out[1]: 144
In [2]: print("The result is {0:d}.".format(_))
#The result is 144.
ln [3]: exec(_i2)
#The result is 144.

Shell命令和魔术命令

关于某个魔术命令的帮助, 可以使用?, 如%bookmark?.

%edit 编辑文件并运行

%ed%edit 编辑一个文件并执行,如果只编辑不执行,用 %ed -x filename 即可。默认使用命令行下的默认编辑器,一般是vi。修改编辑器, 可以export EDITOR="/usr/local/bin/vim”.

%run 命令运行脚本

运行python脚本:

%timeit 快速计算运行时间

在一个交互式会话中,我们可以使用%timeit魔法命令快速测量代码运行时间。相同的命令会在一个循环中多次执行(默认100次),多次运行时长的平均值作为该命令的最终评估时长。

In [24]: %timeit [x*x for x in range(100000)]
100 loops, best of 3: 15.3 ms per loop

%pylab 进行交互式计算

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

In [1]: %pylab
# Using matplotlib backend: MacOSX
# Populating the interactive namespace from numpy and matplotlib
In [2]: x=pylab.linspace(-10.,10.,1000)
In [3]: plot(x,sin(x))
Out [3]: [<matplotlib.lines.Line2D at 0x11f03a150>]
  • %pylab所产生的matplotlib对象(像图片)的显示会弹出一个新窗口.
  • %pylab inline 可以使用行内模式显示结果(尤其图片), 但在普通命令行中并不支持, 在qtconsolenotebook中是支持的.

常用的魔术命令

默认快捷键

Reference

  1. 官方文档
  2. 官方文档:魔法命令
  3. 学习IPython进行交互式计算和数据可视化detail可以下载pdf版本. 也可以在Tacey Wong的博客来查看.
  4. 简书SeanCheney: 利用Python进行数据分析·第2版, 附录B 更多关于IPython的内容. 有兴趣可以订阅腾讯云SeanCheney的专栏
上一篇下一篇

猜你喜欢

热点阅读