ipython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。
- Tab键自动完成
- 内省
In [6]: #在变量的前面或者后面加上一个问号,就可以将有关该对象的一些通用信息显示 出来。如果该对象是一个函数或实例方法则dostring(如果有)也会被显示出来
In [8]: evilxr = 1024 In [9]: evilxr?
Type: int
String Form:1024
Docstring:
int(x=0) -> int or long
int(x, base=10) -> int or long Convert a number or string to an integer, or return 0 if no arguments
are given. If x is floating point, the conversion truncates towards zero.
If x is outside the integer range, the function returns a long instead. If x is not a number or if base is given, then x must be a string or
Unicode object representing an integer literal in the given base. The
literal can be preceded by '+' or '-' and be surrounded by whitespace.
The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to
interpret the base from the string as an integer literal.
>>> int('0b100', base=0)
4
In [24]: # 使用??还将显示出该函数的源代码 In [25]: # ? 还可以搜索ipython的命名空间 - % run 命令
In [28]: # 在ipython会话环境中,所有文件都可以通过%run命令当中Python程序来运行。
In [1]: %run 1.py
你好 中国
In [2]: # 注意路径 中断正在执行的代码
Ctrl+c
执行剪贴板中的代码
In [10]: # %Paste 承载剪贴板中的一切文本并在shell中以整体形式执行 In [11]: # %CPaste 推荐使用
快捷键
In [14]: # Ctrl-p或者向上箭头 向前搜索命令历史中以当前输入的文本开头的命令 In [15]: # Ctrl-P或者向上箭头 向前搜索命令历史中以当前输入的文本开头的命令 In [16]: # Ctrl-n或者向下箭头 向后搜索命令历史中以当前输入的文本开头的命令 In [17]: # Ctrl-r 按行读取的反向历史搜索 In [18]: # Ctrl-Shift-v 从剪贴板粘贴文本 In [19]: # Ctrl-c 终止当前正在执行的代码 In [20]: # Ctrl-a 将光标移动到行首 In [21]: # Ctrl-e 将光标移动到行尾 In [22]: # Ctrl-k 删除光标开始至行尾的文本 In [23]: # Ctrl-u 清除光标至行首的文本 In [24]: # Ctrl-f 将光标向前移动一个字符 In [25]: # Ctrl-f 将光标向前移动一个字符 In [26]: # Ctrl-b 将光标向后移动一个字符 In [34]: # Ctrl-l 清屏
- 异常和追终
- 魔术命令
#ipython的一些特殊命令----->以%开头
# %quickref 显示ipython的快速参考
# %magic 显示所有魔术命令的详细文档
# %dbug 从最新的异常跟踪的底部进入交互调试器
# %hist 打印命令的输入(可选输出)历史
# %pdb 在异常发生后自动进入调试器
# %paste 执行剪贴板中的python代码
# %cpaste 打开一个特殊提示符以便于手工粘贴执行的python代码 - 输入和输出变量
# 最近的两个输出分别保存在_(一个下划线)和__(两个下划线)变量中 In [20]: 2 ** 10
Out[20]: 1024 In [21]: _
Out[21]: 1024 In [24]: evilxr = 'www.evilxr.com' In [25]: evilxr
Out[25]: 'www.evilxr.com'
In [27]: _i25
Out[27]: u'evilxr' In [28]: _25
Out[28]: 'www.evilxr.com' - 记录输入和输出
# 执行%logstart 即可开始记录日志
# 配套的几个命令 %logoff %logon %logstate %logstop - 记录输入和输出
# 执行%logstart即可开始记录日志
#一起使用的几个命令%logoff %logon %logstate %logstop - 与操作系统交互
%pwd
%env - Shell命令和别名
# 在ipython中,以感叹号开头的命令行表示其后的所有内容需要在系统Shell中执行
- 目录书签系统
- 测试代码的执行时间
%time
%timeit - 基本性能分析
%prun
%run -p