python交互式shell-ipython
前言
在写Python的时候,有时候需要命令行来测试一段代码,这时候就会用到交互式的shell。直接输入python就可以进入默认的shell,但是都没有提示,用起来不是很爽。这时候就可以用上ipython。
IPython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。
简介
IPython 是基于BSD 开源的。
IPython 为交互式计算提供了一个丰富的架构,包含:强大的交互式 shell;Jupyter 内核;交互式的数据可视化工具;灵活、可嵌入的解释器;易于使用,高性能的并行计算工具。
安装
安装ipython很简单,直接使用pip就可以直接安装了
pip instlall ipython
使用
安装完以后,直接输入ipython就可以进入到ipython的shell界面进行操作。
ipython
Python 3.6.6 (default, Aug 21 2018, 19:51:24)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.1.1 -- An enhanced Interactive Python. Type '?' for help.
In [1]:
内置函数
ipython提供了一些好用的内置函数,帮我们快速完成工作。
%ed 或 %edit编辑一个文件并执行,如果只编辑不执行,用 %ed -x filename 即可。
例如:
In [6]: %ed 1.py
编辑完1.py后,会自动执行这个文件。
%env显示环境变量
%hist 或 %history显示历史记录
%macro name n1-n2 n3-n4 ... n5 .. n6 ...创建一个名称为 name 的宏,执行 name 就是执行 n1-n2 n3-n4 ... n5 .. n6 ...这些代码,这里的n1、n2...就是%hist历史记录的序号。
%pwd显示当前目录
%pycat filename用语法高亮显示一个 python 文件
%save filename n1-n2 n3-n4 ... n5 .. n6 ...将执行过多代码保存为文件,这里的n1、n2...就是%hist历史记录的序号。
%time statement计算一段代码的执行时间
%timeit statement自动选择重复和循环次数计算一段代码的执行时间,太方便了。
%quickref 显示IPython的快速参考
%magic 显示所有魔术命令的详细文档
%debug 从最新的异常跟踪的底部进入交互式调试器
%pdb 在异常发生后自动进入调试器
%paste 执行剪贴板中的Python代码
%cpaste 打开一个特殊提示符以便手工粘贴待执行的Python代码
%reset 删除interactive命名空间中的全部变量/名称
%page OBJECT 通过分页器打印输出OBJECT
%prun statement 通过cProfile执行statement,并打印分析器的输出结果
%who、%who_ls、%whos 显示interactive命名空间中定义的变量,信息级别/冗余度可变
%xdel variable 删除variable,并尝试清除其在IPython中的对象上的一切引用