IPython :一个交互式计算和开发环境

本文详述了IPython的基础功能,包括代码补全、内省、%run命令、剪贴板代码执行、键盘快捷键、异常处理和魔术命令。介绍了如何使用历史命令、交互式调试器、测试代码执行时间和性能分析工具。此外,还讨论了IPython的Qt控制台、matplotlib集成、高效开发技巧以及高级用法,如类的友好输出和个性化配置。
摘要由CSDN通过智能技术生成

一、 IPython基础

1.1 代码自动补全:Tab键

可补全内容包括:变量名、函数名、成员变量函数、目录文件

1.2 内省(Itrospection)

在变量名之前或之后加上问号(?),这样可以显示这个对象的相关信息。

  • 如果这个对象是个函数或实例方法,那么它的docstring也会被显示出来。

  • 使用??还将显示该函数的源代码

  • ?还能搜索IPython命名空间。一些字符再配以通配符(*)即可显示出所有与其相匹配的名称。如,我们可以列出NumPy顶级命名空间中含有load的所有函数:

    np.*load*?

1.3 %run 命令

在IPython回话环境中,所有文件都可以通过%run命令当做Python程序来运行。

  • 脚本的行为和在标准命令行环境(通过python xxx.py启动的)中执行时一样,此后,在文件中所定义的全部变量就可以子当前IPython shell中访问了。

  • 如果Python脚本需要用到命令行参数,可以将参数放到文件路径后面

  • 中断正在执行的代码:任何代码在执行时,只要按下Ctrl+C,就会引发一个KeyboardInterrupt。

1.4 执行剪贴板中的代码

在IPython中执行代码最简单的方式就是粘贴剪贴板中的代码。如果你不想为一段代码新建一个文件,那么可以试试这种方法。在windows中可以使用右键的粘贴命令粘贴,这会模仿IPython的多行输入功能。

1.5 键盘快捷键

  • Ctrl-C 终止当前正在执行的代码
  • Ctrl-A/E 光标移动到行首/行尾
  • Ctrl-U 清除当前行
  • Ctrl-L 清屏

1.6 异常和跟踪

如果某段代码发生了异常,IPython默认会输出整个调用栈,还会附上调用栈各点附近的几行代码作为上下文参考。

上下文代码参考数量可由%xmode魔术命令进行控制,稍后还会介绍如如何进行调试。

1.7 魔术命令

IPython有一些特殊的命令。有的为常见任务提供便利,有的则使你能够轻松控制IPython系统的行为。

  • 魔术命令是以百分号%为前缀的命令。

  • 魔术命令可以看做运行于IPython系统中的命令行程序,它们大都还有一些参数选项。在命令后面加问号(?)可以查看。

  • 魔术命令默认是可以不带百分号使用的,只要没有定义与其同名的变量即可。这个功能可以通过%automagic命令打开或者关闭。

  • 通过%quickref%magic命令可以查看所有的命令。

常用的魔术命令如下:

  • %quickref thon快速参考
  • %magic 显示magic command详细文档
  • %debug 从最新的异常跟踪的底部进入交互式调试器
  • %hist 打印命令输入历史
  • %pdb 在发生异常后自动进入调试器
  • %paste 执行剪贴板中的Python代码
  • %cpaste 打开一个特殊的提示符以便手工粘贴待执行的代码
  • %reset 删除interactive空间中的全部变量/名称
  • %run 执行一个python脚本
  • %page 分页显示一个对象
  • %time 报告statement执行的时间
  • %timeit 多次执行statement以计算平均执行时间,用于执行时间非常小的代码。
  • %who%who_is%whos 显示Interactive命名空间的中定义的变量,信息级别/冗余度可变
  • %xdel 删除变量,并尝试清楚其在IPython中的对象上的一切引用

1.8 基于Qt的富GUI控制台

启动方法(同时开启绘图功能):

jupyter qtconsole

与终端应用程序相比,优点在于:

  • 界面美观
  • 支持内嵌图片显示
  • 支持以标签页的形式启动多个IPython进程

后面会详细介绍相关功能。

1.9

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值