ipython使用方法_50 个 IPython 使用技巧!现在学还不晚

6205ce9f1c72b3ba660d8e6e7b8a878d.png

什么是IPython?可能很多人已经在用,却不知道它到底是什么。根据维基百科的解释:IPython是一种基于Python的交互式解释器,提供了强大的编辑和交互功能。

IPython拥有:满足你各种需求的交互式shell

火爆数据科学社区的Jupyter内核(供Jupyter Notebook使用)

对交互式数据可视化和GUI工具的完美支持

简单易用的高性能并行计算工具

8b6ab09d5b5cddbe75786b19ec6e72da.png

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

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

本文梳理IPython的50个用法,供Python爱好者参考。注:前面说过IPython提供了jupyter内核,所以Jupyter Notebook是一个基于浏览器的IPython shell,支持IPython的所有功能,以下内容均在Jupyter Notebook环境中测试。

1. ? 打印IPython简介

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

0c80111dd08281c9ea16d7fe9ffaa500.png

2. object ? 内省功能

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

0f0e3a69df7bf365042b87dd1d51d73d.png

3. object ?? 内省功能

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

5c21afe6763666bd9b76af68c710cba5.png

4. history 历史命令

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

6cec367de8f93a6446c25f880ba66bf0.png

5. tab自动补全

IPython支持tab键自动补全。

21a63426fae49a53a1d6df82dfe9e32c.png

6. ! shell_command 执行shell命令

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

f23be25c08e42f66a8609411610d43bb.png

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

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

8. %run 运行脚本

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

c220c65838bfbeeba631efb01e54b57b.png

72ec69e4477e4e9e8586deb7e4ee319a.png

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

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

b3e46e5c8ef16558b68596e87012252c.png

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

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

213ea2d3177b57772accd90cd7263ee2.png

11. %pwd 显示工作路径

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

922f32a1651d3987d16aee52f1778a58.png

12. %matplotlib inline 显示图像

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

1bfadb27cc8b07a9409bfe8d9c21d71a.png

13. %conda 安装第三方库

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

608c48dd0be1c668295978ee7b49ffa5.png

14. %pylab 交互式计算

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

a045df11dde08b515fa8d28df9bae4bb.png

15. %quickref 查看参考

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

5ff2f1a7bd5fcc686e93ec4672e52b4c.png

16. %ls 显示目录内容

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

57353fdc12b82fcb82be4a22b0e0b4ef.png

17. 通配符 *

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

28df73570cd5037050fa3ff9ecebaff7.png

18. %cd 修改目录

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

19. _ 打印前输出结果

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

bad5787f11caec20d783c718df520984.png

726ae2fb95ea712f23829e3576d0c468.png

20. ; 抑制输出

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

3c91124e98677cdc2af7981398d018ef.png

21. %debug 交互式调试器

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

64f2260855f44421ca1d8e77eaa299fe.png

22. %pdb 交互式调试器

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

3baae4482ccefebe0f3f4ebc6ad01f45.png

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

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

6d766f31f9523f5d8aac692af933d867.png

fa114fa04664b98c8ec779140a4b6d69.png

24. %pycat 语法高亮

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

d7e567ace1208a716b98132791c50889.png

fa9f309e80b47690a86f9e0508cae08b.png

25. %load 加载代码

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

837f929851b849a6b0af476aef3e1240.png

c6da24399d1f607e85eda4f5fd140c85.png

26. %macro 定义宏

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

e7b648862bb173742a4c809eca803bc1.png

27. %notebook 导出notebook

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

6de572084ac3c3b258785cfe6b5e35b9.png

28. %pdef 打印构造信息

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

324a9bd0b62f537764cafeee5bd94384.png

29. %pdoc 打印文档

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

f1be6dc82849d90ebca65810dfac757e.png

30. %precision 浮点数精度

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

4174812efba9df69f72a9050ebf2f763.png

31. %xdel 删除变量

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

35937794bc50e11b7c799fc5a201e2b5.png

32. %who 显示变量

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

788c7bb70c281460c60f990e61e441cf.png

33. %who 显示变量

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

f11a628633ccad8e484a0f26963ce41c.png

34. %save 保存cell

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

a51cdeb0d004000c0ab4c4479a083c1d.png

64283d39f93a61fd28d2c36794c321aa.png

35. %reset 重置

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

0a98de8763d4a5962bbba379c749eed1.png

36. %rerun 执行前代码

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

7d81dc6d4d38716304c71e91f6278e2c.png

37. %%HTML 渲染HTML

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

efac7b8032ced5fe051dab0abd8aa997.png

38. %%java 运行Java

%%java 命令用于运行含有Java代码的cell。

1f25e415d816e038bd482cc070b112c6.png

39. %%latex 渲染LaTeX

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

37a1b8f1dda917cd5319cf439cf622d5.png

40. %%markdown 渲染markdown

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

45a312f33d01590844e3d4750ef0f272.png

41. %%writefile 写入文件

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

4110ac3e4d8b4d50c8102151f7814530.png

ee813b2e4f4fc8dc698531c27a218375.png

42. %bookmark 保存书签

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

0b96e2c44cb590a4bf3e19097a1148f1.png

43. %paste 粘贴代码块

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

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

b779d78cd810178b83de4f2c7ec3f042.png

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

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

2d447448cede6f12ab6a612e8da431d3.png

45. In 和 Out

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

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

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

528ba1766307a3a3e9d4a3def965b11e.png

46. %xmode 控制异常

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

d1b8575c6b160cbb13b380e5d9e3c860.png

47. jupyter qtconsole

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

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

2b37cfa2d1d330f52f5d00b2aed0f8d0.png

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对历史命令的反向搜索

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值