zoukankan      html  css  js  c++  java
  • IPython介绍及使用

    一、Ipython入门

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

    (1)安装IPython

    $ pip3 install ipython
    

    (2)ipython的使用

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

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

    二、IPython高级功能

    1、TAB键自动补全

      

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

       内省操作,说明前面是模糊匹配。

      

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

      打印方法的字符串信息:

      

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

      

    3、!:执行系统命令

      

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

      

    4、丰富的快捷键

      

    三、ipython魔术命令

    1、%run:执行文件代码

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

      文件编辑如下所示:

      

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

      

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

      

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

    3、%timeit:评估运行时间

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

      

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

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

    4、%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”,即打印,效果如下所示:

      

    5、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:

      输入代码并执行:

       

  • 相关阅读:
    bat脚本%cd%和%~dp0的区别
    java测试程序运行时间
    != 的注意事项
    [转载] iptables 防火墙设置
    .NET 创建 WebService
    [转载] 学会使用Web Service上(服务器端访问)~~~
    cygwin 安装 apt-cyg
    在Element节点上进行Xpath
    Element节点输出到System.out
    [转载] 使用StAX解析xml
  • 原文地址:https://www.cnblogs.com/xiugeng/p/10325697.html
Copyright © 2011-2022 走看看