官网:https://pypi.org/project/ipython/

在写Python的时候,有时候需要命令行来测试一段代码,这时候就会用到交互式的shell。直接输入python就可以进入默认的shell,但是都没有提示,用起来不是很爽。这时候就可以用上ipython。

IPython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。

简介

IPython 是基于BSD 开源的。
python交互式shell-ipython - 图1
IPython 为交互式计算提供了一个丰富的架构,包含:强大的交互式 shell;Jupyter 内核;交互式的数据可视化工具;灵活、可嵌入的解释器;易于使用,高性能的并行计算工具。

安装

安装ipython很简单,直接使用pip就可以直接安装了

  1. pip install ipython

使用

安装完以后,直接输入ipython就可以进入到ipython的shell界面进行操作。

  1. ipython
  2. Python 3.6.6 (default, Aug 21 2018, 19:51:24)
  3. Type 'copyright', 'credits' or 'license' for more information
  4. IPython 7.1.1 -- An enhanced Interactive Python. Type '?' for help.
  5. In [1]:


内置函数

  • ipython提供了一些好用的内置函数,帮我们快速完成工作:
  • %ed 或 %edit编辑一个文件并执行,如果只编辑不执行,用 %ed -x filename 即可。

例如:

  1. 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中的对象上的一切引用