IPython介绍及使用

1、Ipython入门

  IPython是一个交互式python命令行。python

(1)安装IPython

$ pip3 install ipython

(2)ipython的使用

  In表明输入,响应的结果则显示在Out中。与python解释器的使用方法一致。web

In [1]: 1+2                                                                                                                                        
Out[1]: 3

In [2]: a=1                                                                                                                                        

In [3]: a+2                                                                                                                                        
Out[3]: 3

2、IPython高级功能

一、TAB键自动补全

  

二、?:内省、命名空间搜索

   内省操做,说明前面是模糊匹配。性能优化

  

  命名空间搜索(查看内置方法):a.__*__?函数

  打印方法的字符串信息:性能

  

  打印自定义函数信息,??会打印出函数体优化

  

三、!:执行系统命令

  

  执行复杂命令的时候,须要在命令前加“!”ui

  

四、丰富的快捷键

  

3、ipython魔术命令

一、%run:执行文件代码

# 例如执行下述代码,就能够进行文件编辑
In [21]: !vi test.py   

  文件编辑以下所示:命令行

  

  利用%run来执行test.py文件:debug

  

二、%paste:执行剪贴板代码

  

  %paste执行后,先打印出粘贴的代码,而后打印执行结果。3d

三、%timeit:评估运行时间

  %timeit对一个执行的时间很短的函数跑了不少次最后取了一个平均值。

  

  输出的含义是运行了7次,每次循环了10000次。平均以后算出来这个操做的平均时间是144 µs ± 3.59 µs.

  这个方法的意义在于,拿到一个特别微小的指令完成所须要花费的时间,对代码总体的性能优化可能会有帮助。

四、%pdb:自动调试

  %pdb on——启动pdb,进入调试模式;

  %pdb off——关闭pdb,退出调试模式。

  进入调试模式后,在ipython解释器中执行代码,能够经过调试命令调试代码。

  

  调试器经常使用调试命令以下所示:

命令                          功能
h(elp)                       显示命令列表
help command                 显示command的文档
c(ontinue)                   恢复程序的执行
q(uit)                       退出调试器,再也不执行任何代码
b(reak) number               在当前文件的第number行设置一个断点
b path/to/file.py:number     在指定文件的第number行设置一个断点
s(tep)                       单步进入函数调用
n(ext)                       执行当前行,并前进到当前级别的下一行
u(p)/d(own)                  在函数调用栈中向上或向下移动
a(rgs)                       显示当前函数的参数
debug statement              在新的(递归)调试器中调用语句statement
l(ist) statement             显示当前行,以及当前栈级别上的上下文参考代码
w(here)                      打印当前位置的完整栈跟踪(包括上下文参考代码)

  可是最主要最经常使用的命令仍是“p”,即打印,效果以下所示:

  

五、ipython其余魔术命令

  

   除了上面这些命令外,还具有一些高级的应用:

  • 使用命令历史
  • 获取输入输出结果
    In [47]: a = 1                                                                                                                                     
    In [48]: b = 2                                                                                                                                     
    In [49]: a + b                                                                                                                                     
    Out[49]: 3
    
    # 显示上一行的输出  
    In [50]: _                                                                                                                   
    Out[50]: 3
    
    In [51]: a*b                                                                                                                                       
    Out[51]: 2
    
    In [52]: _*__         # 上一行的输出和上上行输出相乘                                                                                                                             
    Out[52]: 6
    
    # 拿到输入
    In [53]: _i42                                                                                                                                      
    Out[53]: 'p a'
    
    In [54]: _i52                                                                                                                                      
    Out[54]: '_*__'
  • 目录标签系统
    # 查看当前全部bookmark                                                                                                     
    In [55]: %bookmark -l
    Current bookmarks:
    
    # 将home设置为本身的家目录 
    In [72]: %bookmark home ~   
    
    # 建立一个bookmark
    In [63]: %bookmark proj /Users/alex/Documents/   
    
    In [75]: %bookmark -l   # 查看当前全部bookmark                                                                                                     
    Current bookmarks:
    home -> ~
    proj -> /Users/alex/Documents/
    
    # 删除某一个bookmark  
    In [67]: %bookmark -d home  
    
    # 删除全部bookmark 
    In [69]: %bookmark -r                                                                                                       
    
    In [70]: %bookmark -l   # 查看当前全部bookmark                                                                                                     
    Current bookmarks:
    
  • ipython Notebook(web版的代码展现器)
    In [76]: !pip3 install jupyter    # jypyter就是开发ipython的公司
    
    # 安装好后再命令行运行notebook,运行后会自动打开一个http://localhost:8888/tree页面
    hqs$ jupyter notebook
    

    这个页面其实就是一个文件管理系统,建立一个Notebook:

    输入代码并执行:

   

相关文章
相关标签/搜索