• 50个关于IPython的奇技淫巧?


    什么是IPython?可能很多人已经在用,却不知道它到底是什么。
    根据维基百科的解释:

    IPython是一种基于Python的交互式解释器,提供了强大的编辑和交互功能。

    IPython拥有:

    1. 满足你各种需求的交互式shell
    2. 火爆数据科学社区的Jupyter内核(供Jupyter Notebook使用)
    3. 对交互式数据可视化和GUI工具的完美支持
    4. 简单易用的高性能并行计算工具

    IPython中的‘I’即代表交互的意思,所以IPython提供了丰富的工具,能更好地与python进行交互。


    大家经常遇到的魔法命令,就是IPython的众多功能之一。


    本文梳理IPython的50个用法,供Python爱好者参考。

    注:前面说过IPython提供了jupyter内核,所以Jupyter Notebook是一个基于浏览器的IPython shell,支持IPython的所有功能,以下内容均在Jupyter Notebook环境中测试。

    1. ?打印IPython简介

    在IPython中直接输入?,可以打印出IPython的功能介绍

    2. object ?内省功能

    在变量后面加上?,可以打印出该变量的详细信息。
    例如图中一个列表对象,打印出该对象的类型、长度等信息。

    3. object ??内省功能

    ???功能相似,不过??还可以查看函数或模块对象的源代码。

    4. history历史命令

    在IPython中,执行historyhist命令能够查看历史输入。

    5. tab自动补全

    IPython支持tab键自动补全。

    6. ! shell_command执行shell命令

    shell (windows里叫作cmd)表示使用文本与计算机进行交互的方式,在IPython中,shell命令前加上感叹号!(英文输入法)就可以直接执行。
    如图使用ping检测百度网址。

    7.魔法命令%和%%区别

    魔法命令分为两种,一种是line magics,另外一种cell magics。
    Line magic是通过在前面加%,表示magic只在本行有效。
    Cell magic是通过在前面加%%,表示magic在整个cell单元有效。

    8. %run运行脚本

    在IPython会话环境中,py文件可以通过%run命令当做Python程序来运行,输入%run 路径+文件名称即可。
    如图,e盘中有一py脚本test.py,在IPython中执行。

    9.%timeit测量代码运行时间

    IPython使用魔法命令%timeit来测量单行代码的运行时间。

    10.%%timeit测量代码运行时间

    %%timeit用来测量整个单元格代码的运行时间.

    11. %pwd显示工作路径

    该魔法命令用来显示当前工作目录的路径。

    12. %matplotlib inline显示图像

    在notebook中绘制图像时,使用%matplotlib inline命令可以将图表直接嵌入到notebook中,方便查看。

    13. %conda安装第三方库

    %conda install pkgs命令用于在IPython中安装python第三方库。
    image.png

    14. %pylab交互式计算

    %pylab 魔法命令可以使numpy和matplotlib中的科学计算功能生效,这些功能被称为基于向量和矩阵的高效操作,交互可视化特性。它能够让我们在控制台进行交互式计算和动态绘图。

    15. %quickref查看参考

    %quickref用来查看IPython的特定语法和魔法命令参考。

    16. %ls显示目录内容

    %ls path命令可以用来显示特定目录下的内容。

    17. 通配符*

    使用通配符*?可以模糊查询方法名及属性。

    18. %cd修改目录

    %cd命令可以修改当前工作目录。

    19. _打印前输出结果

    使用一个下划线 _ 获取前一个输出结果,它是个变量,实时更新的。
    使用两个下划线 __ 可以获取倒数第二个输出,使用三个下划线 ___ 获取倒数第三个输出(没有输出的命令行不计入在内,只支持前三个输出结果)。

    20. ;抑制输出

    在语句后面加上;,不显示输出结果。

    21. %debug交互式调试器

    %debug命令支持从最新的异常跟踪的底部进入交互式调试器。
    在ipdb调试模式下能访问所有的本地变量和整个栈回溯。使用u和d向上和向下访问栈,使用q退出调试器。在调试器中输入?可以查看所有的可用命令列表。

    22. %pdb交互式调试器

    %pdb同样用于启动交互式调试器,不过支持对所有的异常进行调试。你需要事先启动%pdb命令,之后对每一个异常都会进行调试。

    23. %run -d交互式调试器

    %run -d用于对脚本进行调试。

    24. %pycat语法高亮

    %pycat filename用语法高亮显示一个python文件(不用加.py后缀名)。

    25. %env环境变量

    %env命令用于显示环境变量。

    25. %load加载代码

    %load命令用于将脚本代码加载到当前cell。

    26. %macro定义宏

    %macro taskname n1 n2...用来定义宏,并给宏命名,执行指定的代码行。
    执行name就是执行n1 n2...这些代码。

    27. %notebook导出notebook

    %notebook path用于导出当前notebook内容到指定ipynb文件中。

    28. %pdef打印构造信息

    %pdef命令用来打印类、函数的构造信息。

    29. %pdoc打印文档

    %pdoc命令用来打印对象的文档字符串。

    30. %precision浮点数精度

    %precision命令用来设置浮点数精度,可添加具体参数,无参数则默认精度。

    31. %xdel删除变量

    %xdel命令用于删除变量,并尝试清楚其在IPython中的对象上的一切引用。

    32. %who显示变量

    %who命令用于显示当前所有变量,你也可以指定显示变量的类型。

    33. %who显示变量

    %who命令同样用于显示当前变量,但提供的信息更加丰富。

    34. %save保存cell

    %save path n1 n2..命令用于将指定cell代码保存到指定的py文件中。

    35. %reset重置

    %reset -f命令用于删除定义的所有变量,如果不指定参数-f,则需要确认后再重置。

    36. %rerun执行前代码

    %rerun命令用于执行之前的代码,可以指定历史代码行,默认最后一行。

    37. %%HTML渲染HTML

    %%HTML命令用于将单元格渲染为HTML输出。

    38. %%javascript运行JavaScript

    %%javascript命令用于运行含有JavaScript代码的cell。

    39. %%latex渲染LaTeX

    %%latex命令用于将LaTeX语句渲染为公式,LaTeX是一种基于ΤΕΧ的排版系统。

    40. %%markdown渲染markdown

    %%markdown命令用于将markdown文本渲染为可视化输出。

    41. %%writefile写入文件

    %%writefile命令用于将单元格内容写入到指定文件中,文件格式可为txt、py等。

    42. %bookmark保存书签

    %bookmark命令能够保存常用目录的别名,以便实现快速跳转,书签能够持久化保存。

    43. %paste粘贴代码块

    当你使用 IPython 解释器时,有件事经常让你头疼,那就是粘贴多行代码块可能会导致不可预料的错误,尤其是其中包含缩进和解释符号时。


    使用%paste命令能够直接执行剪切板中的python代码块。

    44. %magic获取魔法命令列表

    %magic用于获取所有魔法命令及其用法。

    45. InOut

    常会看到IPython 中的 In[1]:/Out[1]: 形式的提示,它们并不仅仅是好看的装饰形式,还是包含输入、输出的变量。


    In 对象是一个列表,按照顺序记录所有的命令。


    Out 对象不是一个列表,而是一个字典,它将输入数字映射到相应的输出(如果有的话)

    46. %xmode控制异常

    %xmode命令用于控制异常输出的模式。

    47. jupyter qtconsole

    jupyter qtconsole 是ipython团队基于qt框架开发的一个GUI控制台。


    它具有富文本编辑功能,既能够在里面实现内嵌图片、多行编辑、语法高亮等。

    48. IPython导航快捷键

    快捷键 动作
    Ctrl + a 将光标移到本行的开始处
    Ctrl + e 将光标移到本行的结尾处
    Ctrl + b(或左箭头键) 将光标回退一个字符
    Ctrl + f(或右箭头键) 将光标前进一个字符

    49. IPython文本输入快捷键

    快捷键 动作
    Backspace 键 删除前一个字符
    Ctrl + d 删除后一个字符
    Ctrl + k 从光标开始剪切至行的末尾
    Ctrl + u 从行的开头剪切至光标
    Ctrl + y yank(即粘贴)之前剪切的文本
    Ctrl + t transpose(即交换)前两个字符

    50. IPython命令历史快捷键

    快捷键 动作
    Ctrl + p(或向上箭头) 获取前一个历史命令
    Ctrl + n(或向下箭头) 获取后一个历史命令
    Ctrl + r 对历史命令的反向搜索

  • 相关阅读:
    【转】PLSQL developer 连接不上64位Oracle 的解决方法
    Cadence 错误合集
    二十三、原理图和PCB交互式布局
    二十二、导入DXF文件
    二十一、打开和关闭飞线
    电源设计基础(罗伯特.A.曼马诺) TI电源书籍
    ORA-01033: ORACLE initialization or shutdown in progress 实用的处理方法
    转载“启动关闭Oracle数据库的多种方法”--来自百度#Oracle
    vue+django+mysql前后端分离的课程管理系统
    webshell扫描器
  • 原文地址:https://www.cnblogs.com/zhuwjwh/p/12325679.html
Copyright © 2020-2023  润新知