IPython简介

IPython最大的特性是它的交互式翻译器。这个系统允许我们以最快的速度测试自己的想法,而不是创建一个文件然后编译执行。

IPython的目标是创建一个交互式计算和探索式计算的全面环境。为了支持这个目标,IPython有两个重要组件:

  • 一个增强的交互式python shell
  • 一个交互式的并行计算架构

参考:IPython Introduction

安装IPython

ubuntu下直接apt-get install ipython即可,其他可以参考install ipython

使用IPython

自动补全

使用tab可以直接对已打出的对象或变量进行补全

魔术关键字

魔术关键字以%开头,如果automagic打开了,则不用输入%,否则需要,使用automagic可以切换状态

  • env 显示环境变量
  • ededit 编辑一个文件并执行
  • ed -x filename 编辑文件不执行
  • edit 3:10 编辑3:10行的指令并执行
  • hist 显示历史纪录,可以用-n增加行号
  • hist 3:10 显示3-10行的历史纪录
  • bg function 把function函数放到后台执行
  • pwd 当前目录
  • pycat filename 语法高亮显示一个文件
  • macro name 1:10 把1:10行的代码设为name宏
  • save filename 1:10 把1:10行代码保存到文件中
  • time statement 计算一段代码执行时间
  • timeit statement 自动选择重复和循环次数计算一段代码执行时间
  • run filename 执行一个文件,如果希望防止执行的,需要增加if __name__ == "__main__":
  • autoindent 如果启用,粘贴的时候会自动缩进代码
  • reset 重置所有变量

Bash命令

使用!做前缀可以执行shell命令,还可以用$来转换python变量,如下

for i in range(10):
  s = "dir%s" % i
  !mkdir $s

for i in !ls:
  print i

另外,如果普通的shell命令有$的话,必须增加两个$$,如果原来是echo $PATH,需要写成!echo $$PATH

打印对象属性

使用dir可以将对象属性打印出来,如

import os
dir(os)