IPython

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  我安装的时候一直报版本错误  

这个暂时没打算用 我也没深究  那位遇见了不妨交流一下啊






你可能感兴趣的:(python,ipython)