IPython 是 Python 的原生交互式 shell 的增强版,可以完成许多不同寻常的任务,比如帮助实现并行化计算
主要使用它提供的交互性帮助,比如代码着色、改进了的命令行回调、制表符完成、宏功能以及改进了的交互式帮助。
IPython 2.0.0 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object', use 'object??' for extra details. In [1]: import os In [2]: os.pa os.pardir os.path os.pathconf os.pathconf_names os.pathsep In [2]: os.pa
IPython的Magic命令以%开头 %magic命令打印所有magic function 文件有点长 随便看看吧
obj?, obj?? : 获取object的帮助信息 ?foo.*abc* : 列出foo下面的含有abc的名称
%lsmagic 可以列出所有的magic命令
Magic functions已% or %%作为前缀 通常没有 逗号,引号和括号 具体使用方法简单列举一下:
%alias d ls -F : 'd' is now an alias for 'ls -F' alias d ls -F : Works if 'alias' not a python name alist = %alias : Get list of aliases to 'alist' cd /usr/share : Obvious. cd -<tab> to choose from visited dirs. %cd?? : See help AND source for magic %cd %timeit x=10 : time the 'x=10' statement with high precision. %%timeit x=2**100 x**100 : time 'x*100' with a setup of 'x=2**100'; setup code is not counted. This is an example of a cell magic. System commands: !cp a.txt b/ : System command escape, calls os.system() cp a.txt b/ : after %rehashx, most system commands work without ! cp ${f}.txt $bar : Variable expansion in magics and system commands files = !ls /usr : Capture sytem command output files.s, files.l, files.n: "a b c", ['a','b','c'], 'a\nb\nc'
%timeit 命令在交互命令行中估计命令运行时长
In [2]: %timeit [x*x for x in range(100000)] 100 loops, best of 3: 9.78 ms per loop
-n 参数控制一个循环中运行次数 -r参数控制循环次数 可以理解为双重for循环
In [7]: %timeit -n 2 -r 5 [x*x for x in range(100000)] 2 loops, best of 5: 9.66 ms per loop
%run 命令直接运行一个py文件
In [1]: %run test.py hello world !
tab键不仅能补全参数 还能显示对象的方法~~ nice啊
In [2]: list = [] In [3]: list. list.append list.count list.extend list.index list.insert list.pop list.remove list.reverse list.sort
ipython 也集成了一些system terminal的功能 方便查看文件系统
In [11]: pwd Out[11]: u'/private/tmp' In [12]: cd /tmp/ /private/tmp In [13]: pwd Out[13]: u'/private/tmp' In [14]: ls
ipython notebook 在127.0.0.1:8888上启动一个HTTP Server
notebook 需要集成python zeroMQ 我安装的时候一直报版本错误
这个暂时没打算用 我也没深究 那位遇见了不妨交流一下啊