什么是IPython? 很多人可能已经在用了,但我不知道那是什么。 根据维基百科的说法,IPython是一个基于Python的交互式解释器,提供强大的编辑和交互式功能。
拥有IPython :可满足您需求的交互式外壳
数据科学爆炸性社区的Jupyter内核(用于Jupyter Notebook )。
交互式数据可视化和GUI工具的完美支持
易于使用的高性能并行计算工具
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 .历史记录命令
在IPython中,可以通过运行history或hist命令来显示历史记录输入。
5 .选项卡自动完成
IPython支持选项卡自动完成。
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会话环境中,可以使用%run命令将py文件作为Python程序运行。 请输入%run路径文件名。 如图所示,电子磁盘具有py脚本test.py,它在IPython上运行。
9. %timeit测量代码的执行时间
IPython使用魔法命令%timeit测量单行代码的执行时间。
10. %%timeit测量代码的执行时间
%%timeit用于测量整个单元格代码的执行时间。
11. %pwd显示工作路径
此魔法命令显示当前工作目录的路径。
12.% matplotlib在线显示图像
在notebook中绘制图像时,%matplotlib inline命令可以将图表直接嵌入notebook中,从而更容易看到。
13. %conda安装第三方库
%conda install pkgs命令用于在IPython上安装python第三方库。
14. %pylab交互式计算
%pylab魔法命令在numpy和matplotlib中启用科学计算功能。 这些功能被称为基于向量和矩阵的高效操作、交互式可视化特性。 可以在控制台上进行交互式计算和动态绘制。
15 .查看%快速参考
%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. %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. %%java 运行Java
%%java 命令用于运行含有Java代码的cell。
39. %%latex 渲染LaTeX
%%latex 命令用于将LaTeX语句渲染为公式,LaTeX是一种基于ΤΕΧ的排版系统。
40. %%markdown 渲染markdown
%%markdown 命令用于将markdown文本渲染为可视化输出。
41. %%writefile 写入文件
%%writefile 命令用于将单元格内容写入到指定文件中,文件格式可为txt、py等。
42. %bookmark 保存书签
%bookmark 命令能够保存常用目录的别名,以便实现快速跳转,书签能够持久化保存。
43. %paste 粘贴代码块
xfdddd使用 IPython 解释器时,有件事经常让你头疼,那就是粘贴多行代码块可能会导致不可预料的错误,尤其是其中包含缩进和解释符号时。
使用 %paste 命令能够直接执行剪切板中的python代码块。
44. %magic 获取魔法命令列表
%magic 用于获取所有魔法命令及其用法。
45. In 和 Out
常会看到IPython 中的 In[1]: / Out[1]: 形式的提示,它们并不仅仅是好看的装饰形式,还是包含输入、输出的变量。
In 对象是一个列表,按照顺序记录所有的命令。
Out 对象不是一个列表,而是一个字典,它将输入数字映射到相应的输出(如果有的话)
46. %xmode 控制异常
%xmode 命令用于控制异常输出的模式。
47. jupyter qtconsole
jupyter qtconsole 是ipython团队基于qt框架开发的一个GUI控制台。
它具有富文本编辑功能,既能够zxdxbc实现内嵌图片、多行编辑、语法高亮等。
48. IPython导航快捷键
快捷键动作Ctrl + a将光标移到本行的开始处Ctrl + e将光标移到本行的结尾处Ctrl + b(或左箭头键)将光标回退一个字符Ctrl + f(或右箭头键)将光标前进一个字符49. IPython文本输入快捷键快捷键动作Backspace 键删除前一个字符Ctrl + d删除后一个字符Ctrl + k从光标开始剪切至行的末尾Ctrl + u从行的开头剪切至光标Ctrl + yyank(即粘贴)之前剪切的文本Ctrl + ttranspose(即交换)前两个字符50. IPython命令历史快捷键快捷键动作Ctrl + p(或向上箭头)获取前一个历史命令Ctrl + n(或向下箭头)获取后一个历史命令Ctrl + r对历史命令的反向搜索