分类: Python/Ruby
2009-05-31 16:31:04
很好的交互式解释器:
/Cookbook
略
IPython比Python多了序号。
In [1]: a=1
In [2]: a
Out[2]: 1
In [3]: print a
------> print(a)
1
Print和直接敲变量是有区别的。Print使用的非官方的字符串表示。
In [4]: class DoubleRep(object):
...: def __str__(self):
...: return "Hi, I'm a __str__"
...: def __repr__(self):
...: return "Hi, I'm a __repr__"
...:
...:
In [5]: dr = DoubleRep()
In [6]: print dr
------> print(dr)
Hi, I'm a __str__
In [7]: dr
Out[7]: Hi, I'm a __repr__
查看历史输入
In [4]: print In
['\n', u'a = 1\n', u'b = 2\n', u'c = 3\n', u'print In\n']
In [1]: type(In)
Out[1]:
In [2]: type(Out)
Out[2]:
自动补全:标准python shell需要执行如下:
>>> import rlcompleter, readline
>>> readline.parse_and_bind('tab: complete')
IPython自动具备这些功能。
Magic编辑函数IPython中可以跨行修改代码,标准python中是不可以的。
IPython的配置在用户目录的.ipython/ipy_user_conf.py
%开头的为Magic函数等,比如‘%cd mydir’,查看如下:
In [1]: lsmagic
Available magic functions:
%Exit %Pprint %Quit %alias %autocall %autoindent %automagic %bg
%bookmark %cd %clear %color_info %colors %cpaste %debug %dhist %dirs
%doctest_mode %ed %edit %env %exit %hist %history %logoff %logon
%logstart %logstate %logstop %lsmagic %macro %magic %p %page %pdb
%pdef %pdoc %pfile %pinfo %popd %profile %prun %psearch %psource
%pushd %pwd %pycat %quickref %quit %r %rehash %rehashx %rep %reset
%run %runlog %save %sc %store %sx %system_verbose %time %timeit
%unalias %upgrade %who %who_ls %whos %xmode
如果打开了Automagic,则不需要加%。
也可以使用%
具体函数的帮助查看加问号,比如:%page ?
所有函数的快速参考:%quickref。