50个关于IPython的使用技巧,进一步提升开发效率
满足你各种需求的交互式shell 火爆数据科学社区的Jupyter内核(供Jupyter Notebook使用) 对交互式数据可视化和GUI工具的完美支持 简单易用的高性能并行计算工具
![](https://filescdn.proginn.com/c6e8cfe901bc0f5a8f2612588681168f/37ab351b894b2f264bc32713e2211a80.webp)
pip install ipython
然后再执行:
ipython
即可打开这个功能强大的 Python 交互式开发环境。
注:前面说过IPython提供了jupyter内核,所以Jupyter Notebook是一个基于浏览器的IPython shell,支持IPython的所有功能。(你可以通过 ipython notebook 的命令进入jupyter) 以下内容均在Jupyter Notebook环境中测试。
1. ?
打印IPython简介
?
,可以打印出IPython的功能介绍![](https://filescdn.proginn.com/c5e1e289974f5d933e050f44b75c51bb/e189a0a781b1c09b88e6078d339e1319.webp)
2. object ?
内省功能
?
,可以打印出该变量的详细信息。例如图中一个列表对象,打印出该对象的类型、长度等信息。![](https://filescdn.proginn.com/f20071f24e1e8d059f80b549b92eda7b/88caf1ec767e7e4efafc7d4c7a1d68b5.webp)
3. object ??
内省功能
??
和?
功能相似,不过??
还可以查看函数或模块对象的源代码。![](https://filescdn.proginn.com/44591df3bc16b8bfbeb1820a1671dd63/84fd7046d9ad25c813cb0eb8432dfe1b.webp)
4. history
历史命令
history
或hist
命令能够查看历史输入。![](https://filescdn.proginn.com/9a0ac22ae3146c2610eb13a5b0b7c7ac/67d4498448e6c5bdbed378dae2ceb4ae.webp)
5. tab自动补全
![](https://filescdn.proginn.com/5b546a67b59ab7b6b772662eff2f04f5/c03c81aee9e19eb2efd95b15c2d05568.webp)
6. ! shell_command
执行shell命令
!
(英文输入法)就可以直接执行。如图使用ping检测百度网址。![](https://filescdn.proginn.com/c62f6a7258654f300f5c53d41cfa1747/5f3e3587bd24a605d3f3a6ea789d0b0a.webp)
7.魔法命令%和%%区别
8. %run
运行脚本
%run
命令当做Python程序来运行,输入%run 路径+文件名称
即可。如图,e盘中有一py脚本test.py,在IPython中执行。![](https://filescdn.proginn.com/0d93d9709f11ea8c7ef06c84d9f48041/46a5766001fdaf498ca7974afe004803.webp)
![](https://filescdn.proginn.com/d16ba2d1d117718aa1b026af9b7d96a0/47e055c3f9304556d38cc7c813d7abe5.webp)
9.%timeit
测量代码运行时间
%timeit
来测量单行代码的运行时间。![](https://filescdn.proginn.com/b5dcdbc12106bf0ab802de75ae2be705/103a626c3eca32f17a6f46fe9a9c9b52.webp)
10.%%timeit
测量代码运行时间
%%timeit
用来测量整个单元格代码的运行时间.11. %pwd
显示工作路径
![](https://filescdn.proginn.com/8ff9928a48529c608e12b0f808a26eed/b335fb41fc971e88bbe6de167f0340f1.webp)
12. %matplotlib inline
显示图像
%matplotlib inline
命令可以将图表直接嵌入到notebook中,方便查看。![](https://filescdn.proginn.com/ac8627552d2b3babe441252b3ee38bb1/202f4a74fc16603dbe371a30b4cdf3c8.webp)
13. %conda
安装第三方库
%conda install pkgs
命令用于在IPython中安装python第三方库。![](https://filescdn.proginn.com/6a35f69e37bd4e5fcbc01de89d681702/9cf26e2d5753c6b950277c4f9b4fc070.webp)
14. %pylab
交互式计算
%pylab
魔法命令可以使numpy和matplotlib中的科学计算功能生效,这些功能被称为基于向量和矩阵的高效操作,交互可视化特性。它能够让我们在控制台进行交互式计算和动态绘图。![](https://filescdn.proginn.com/8ad33a68e290fce990390d763e98bb67/645116d323806452d890469af35f581c.webp)
15. %quickref
查看参考
%quickref
用来查看IPython的特定语法和魔法命令参考。![](https://filescdn.proginn.com/794666f496d68af4e20bf166ced30adb/4c5ab1c046872e2a18901fcbaf14d47c.webp)
16. %ls
显示目录内容
%ls path
命令可以用来显示特定目录下的内容。![](https://filescdn.proginn.com/bcf55df33ef9ec9061f4c282a2de2680/f6135d480f5465f284b920568296cf52.webp)
17. 通配符*
*?
可以模糊查询方法名及属性。![](https://filescdn.proginn.com/0134441d1d64c3a9ab8c63d491346c55/00008452524a1acc7f301558e31c6dac.webp)
18. %cd
修改目录
%cd
命令可以修改当前工作目录。19. _
打印前输出结果
_
获取前一个输出结果,它是个变量,实时更新的。使用两个下划线 __
可以获取倒数第二个输出,使用三个下划线 ___
获取倒数第三个输出(没有输出的命令行不计入在内,只支持前三个输出结果)。![](https://filescdn.proginn.com/98a16f5e26fa452dd173c3ef40ddf3d9/6968c0fe498508aa9e67726d1833879c.webp)
![](https://filescdn.proginn.com/81677952c87ea5239daa976bdac161af/691f44211c052fa5cb98c61109a29ad2.webp)
20. ;
抑制输出
;
,不显示输出结果。![](https://filescdn.proginn.com/ad394f4bfe6ed549ee2f6373af60c4da/57ae9b0546cf9b0fad087b2fc22ae24b.webp)
21. %debug
交互式调试器
%debug
命令支持从最新的异常跟踪的底部进入交互式调试器。在ipdb调试模式下能访问所有的本地变量和整个栈回溯。使用u和d向上和向下访问栈,使用q退出调试器。在调试器中输入?可以查看所有的可用命令列表。![](https://filescdn.proginn.com/db07fba60b2209dcdf63c2dedbdd13e1/c3fe1c355494daa2e47a31a4e5a65171.webp)
22. %pdb
交互式调试器
%pdb
同样用于启动交互式调试器,不过支持对所有的异常进行调试。你需要事先启动%pdb
命令,之后对每一个异常都会进行调试。![](https://filescdn.proginn.com/270c4e3f3618bd1d097dc5474bb071ae/fe410bd86de98999f465aa38e646b2a3.webp)
23. %run -d
交互式调试器
%run -d
用于对脚本进行调试。![](https://filescdn.proginn.com/7b2f2d661b0ca7d1073c2d12f690a267/049174d9bbd74e1e64eca966aca2602f.webp)
![](https://filescdn.proginn.com/53218fec650f0901880d577158289d9a/b991cc53431313e9df55a9c2420d1653.webp)
24. %pycat
语法高亮
%pycat filename
用语法高亮显示一个python文件(不用加.py后缀名)。![](https://filescdn.proginn.com/b727242a7831508f685b725047cea3cd/32c56ee4715e499bd13151da390980d3.webp)
![](https://filescdn.proginn.com/5a6c344c167ffa8347701ca6e958bb4b/916e38c0536ebd9105865e263cbb2f21.webp)
25. %load
加载代码
%load
命令用于将脚本代码加载到当前cell。![](https://filescdn.proginn.com/46594016a71767c687e09e550beb78f0/b9118f3ee55ef49790222ef1a4a9d155.webp)
![](https://filescdn.proginn.com/47ba5217c509d4f22c9c0643204e4f8c/701deb6ad182a76d61f0f0076904c507.webp)
26. %macro
定义宏
%macro taskname n1 n2...
用来定义宏,并给宏命名,执行指定的代码行。执行name就是执行n1 n2...这些代码。![](https://filescdn.proginn.com/1d09b47602856f4c7080f1882bdd4498/a30b2dc137d22e3a712fc20c05d64318.webp)
27. %notebook
导出notebook
%notebook path
用于导出当前notebook内容到指定ipynb文件中。![](https://filescdn.proginn.com/ac487e0f1a198d0427036b69531e5fd8/da1c49c2e75ab50c00cb4d03b6fd1e95.webp)
28. %pdef
打印构造信息
%pdef
命令用来打印类、函数的构造信息。![](https://filescdn.proginn.com/616ecd9395b8e6098202a96b425e314a/7f96638c20955c717857e7db32a1c0b9.webp)
29. %pdoc
打印文档
%pdoc
命令用来打印对象的文档字符串。![](https://filescdn.proginn.com/0813c689cf98d1a67e632f8a35b848c1/d0e9aa13429a01a9c32118838632f6d2.webp)
30. %precision
浮点数精度
%precision
命令用来设置浮点数精度,可添加具体参数,无参数则默认精度。![](https://filescdn.proginn.com/05cc764f90e69999f8cb3430f0020f8b/85c4476fa8b51081a51c48b136a4bd4d.webp)
31. %xdel
删除变量
%xdel
命令用于删除变量,并尝试清楚其在IPython中的对象上的一切引用。32. %who
显示变量
%who
命令用于显示当前所有变量,你也可以指定显示变量的类型。![](https://filescdn.proginn.com/34a66a489a13bb67ebe062639cd4eaac/e7b41ef4a6e4c364dca1d0480385e120.webp)
33. %who
显示变量
%who
命令同样用于显示当前变量,但提供的信息更加丰富。![](https://filescdn.proginn.com/836ddaaf55aa576f4633674d98987966/aafa768911ca6d39c5386f98d7b9f411.webp)
34. %save
保存cell
%save path n1 n2..
命令用于将指定cell代码保存到指定的py文件中。![](https://filescdn.proginn.com/250d50d14f9f38029dc350e84642dd76/8020d4974275bf291d7cd08774ac1e3f.webp)
![](https://filescdn.proginn.com/dd39936de7351af0074f1dc777c3e44b/3313951fb94b34bdc28a7e85c0b2f11b.webp)
35. %reset
重置
%reset -f
命令用于删除定义的所有变量,如果不指定参数-f
,则需要确认后再重置。![](https://filescdn.proginn.com/d0623f5dee67870f872fdf6a7571104e/626515de4368d333595d19d00fdfb8b6.webp)
36. %rerun
执行前代码
%rerun
命令用于执行之前的代码,可以指定历史代码行,默认最后一行。![](https://filescdn.proginn.com/66bf90d51883eedcb6b488699e86ebbd/bbba95d710aa56a1f03f89b7a05c44c1.webp)
37. %%HTML
渲染HTML
%%HTML
命令用于将单元格渲染为HTML输出。![](https://filescdn.proginn.com/70e9bdb35dc0070bb3e888d2a8fa05cf/83f8fb6d43d0e248522ad8f8b6c093e7.webp)
38. %%javascript
运行JavaScript
%%javascript
命令用于运行含有JavaScript代码的cell。![](https://filescdn.proginn.com/75df9ee5e37f281dbd84e0bbe41ff6f5/6ade4228c27128ac42438feecfbb62b9.webp)
39. %%latex
渲染LaTeX
%%latex
命令用于将LaTeX语句渲染为公式,LaTeX是一种基于ΤΕΧ的排版系统。![](https://filescdn.proginn.com/d662b2ae94802692ca4d0058216681b5/005187ca214b0df7f031a89fa8f6a95d.webp)
40. %%markdown
渲染markdown
%%markdown
命令用于将markdown文本渲染为可视化输出。![](https://filescdn.proginn.com/21409b0669011b65e14910b10ca44bcf/4236c062c6739edc4bfb693343a9966e.webp)
41. %%writefile
写入文件
%%writefile
命令用于将单元格内容写入到指定文件中,文件格式可为txt、py等。![](https://filescdn.proginn.com/3803ada9aa603efa1ae05c3adb34ae25/2ffdd2689330cd29232f3cf12513e418.webp)
![](https://filescdn.proginn.com/2f2fbdb2d2436b797291a4c988995ea9/ab6748c2303991b3865f7f34e28bc156.webp)
42. %bookmark
保存书签
%bookmark
命令能够保存常用目录的别名,以便实现快速跳转,书签能够持久化保存。![](https://filescdn.proginn.com/37e793b24a4a1a4c89c08435169952e1/cbc58a8fcefee8958d33ed97b73ae183.webp)
43. %paste
粘贴代码块
使用
%paste
命令能够直接执行剪切板中的python代码块。![](https://filescdn.proginn.com/baf728b569b3beec2e93b63b6dcbec43/f68c4f86b6820405867b6210d40fb3f6.webp)
44. %magic
获取魔法命令列表
%magic
用于获取所有魔法命令及其用法。![](https://filescdn.proginn.com/544f8fbb8a22acb64ca60ee428c7e97b/aaadee5a265f9d7f90ae12fe95ebbfc1.webp)
45. In
和Out
In[1]:
/Out[1]:
形式的提示,它们并不仅仅是好看的装饰形式,还是包含输入、输出的变量。In 对象是一个列表,按照顺序记录所有的命令。
Out 对象不是一个列表,而是一个字典,它将输入数字映射到相应的输出(如果有的话)
![](https://filescdn.proginn.com/25f739c47bb15e2b9b53b66c3bac9073/3bca62fc00801612fb3f9d7fb7e61999.webp)
46. %xmode
控制异常
%xmode
命令用于控制异常输出的模式。![](https://filescdn.proginn.com/fefa2aa7cdf079b0fd94aa7fa9be8178/137b2db7f3838006ab7cc7e0b9547660.webp)
47. jupyter qtconsole
它具有富文本编辑功能,既能够在里面实现内嵌图片、多行编辑、语法高亮等。
![](https://filescdn.proginn.com/e3b8454b696c5d77b4268023bc070531/ca921341e37e65d16971e56f884efebd.webp)
48. IPython导航快捷键
49. IPython文本输入快捷键
50. IPython命令历史快捷键
作者:朱卫军
来源:Python大数据分析
评论