ipython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。

  1. Tab键自动完成
  2. 内省
    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的命名空间
  3. % run 命令
    In [28]: # 在ipython会话环境中,所有文件都可以通过%run命令当中Python程序来运行。
    In [1]: %run 1.py
    你好 中国
    In [2]: # 注意路径
  4. 中断正在执行的代码

    Ctrl+c
    
  5. 执行剪贴板中的代码

    In [10]: # %Paste 承载剪贴板中的一切文本并在shell中以整体形式执行
    
    In [11]: # %CPaste 推荐使用
    
  6. 快捷键

    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 清屏
    
  7. 异常和追终
  8. 魔术命令
    #ipython的一些特殊命令----->以%开头
    
    # %quickref    显示ipython的快速参考
    # %magic 显示所有魔术命令的详细文档
    # %dbug 从最新的异常跟踪的底部进入交互调试器
    # %hist 打印命令的输入(可选输出)历史
    # %pdb 在异常发生后自动进入调试器
    # %paste 执行剪贴板中的python代码
    # %cpaste 打开一个特殊提示符以便于手工粘贴执行的python代码
  9. 输入和输出变量
    # 最近的两个输出分别保存在_(一个下划线)和__(两个下划线)变量中
    
    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'
  10. 记录输入和输出
    # 执行%logstart   即可开始记录日志
    # 配套的几个命令 %logoff %logon %logstate %logstop
  11. 记录输入和输出
    # 执行%logstart即可开始记录日志
    #一起使用的几个命令%logoff %logon %logstate %logstop
  12. 与操作系统交互
    %pwd
    %env
  13. Shell命令和别名
    # 在ipython中,以感叹号开头的命令行表示其后的所有内容需要在系统Shell中执行
    
  14. 目录书签系统
  15. 测试代码的执行时间
    %time
    %timeit
  16. 基本性能分析
    %prun
    %run -p
04-18 02:38