python交互式编译_20170408IPython:一种交互式计算和开发环境

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

IPython简介

Python开发环境:IPython + 一个文本编辑器。也可考虑用集成开发环境(IDE)来代替文本编辑器。有些IDE本身就集成了IPython。

大部分的数据分析代码都含有探索式操作(试误法和迭代法)

工作模式:“执行→探索”,而非“编辑→编译→运行”。

绘图操作的GUI控制台。

IPython的核心功能:交互。

Anaconda可以看成是Python的一个集成安装,安装完Anaconda之后就默认安装了python、IPython、集成开发环境SPyder和众多的包和模块。

In [1]: import numpy as np

In [2]: from numpy.random import randn

In [3]: data = {i : randn() for i in range(7)}

In [4]: data

Out[4]:

{0: -1.5947160703426004,

1: 1.3069398014806806,

2: -0.83610299444972,

3: -1.8243443377338024,

4: -1.4313897270149214,

5: 1.5696558137799446,

6: -1.373459610134893}

IPython中,Tab键自动完成功能

(1)搜索命名空间,自动查找出当前命名空间中任何与已经输入的字符串相匹配的变量(对象、函数等)。

(2)自动完成对象或模块属性(xx.Tab)。

(3)文件系统路径匹配。当输入任何看上去像文件路径的东西时,按下Tab键即可找出电脑文件系统中与之匹配的东西。

内 省

在变量的前面或者后面加上一个问号(?Or??)就可以将有关该对象的一些通用信息显示出来:

变量名称后面加问号(?);函数名称后面加问号(?、??);np.*load*?

In [17]: b?

Type: list

String form: [1, 2, 3, 5]

Length: 4

Docstring:

list() -> new empty list

list(iterable) -> new list initialized from iterable's items

%run命令

在IPython回话环境中,所有的文件都可以通过%run命令当做Python程序来运行。假设你在test.py中存放了一段简单的脚本,如下所示:

def f(x,y,z):

return (x+y)/z

a = 5

b = 6

c = 7.5

result = f(a,b,c)

只需要将文件名传给%run就可以运行了:

In [1]: %run C:\Users\Administrator\Desktop\test.py

In [3]: a

Out[3]: 5

In [4]: result

Out[4]: 1.4666666666666666

如果Python脚本需要用到命令行参数(通过sys.argv访问),可以将参数放到文件路径的后面,就像在命令行上执行那样。

注意:如果希望脚本能够访问在交互式IPython命名空间中定义的变量,那就应该使用%run-i而不是%run。

中断正在执行的代码

通过按“Ctrl+C”,可以中断任何在执行的代码,并引发一个KeyboardInterrupt。除非一些非常特殊的情况外,绝大部分Python程序都将立即停止执行。

执行剪贴板中的代码

在IPython中执行代码的最简单方式是粘贴剪贴板中的代码。

多数情况下,我们都可以通过“Ctrl-Shift-V”将剪贴板中的代码片段粘贴出来(代码中有换行符不行,换行符会被处理为)。

%paste和%cpaste的使用。

IPython跟编辑器和IDE之间的交互

键盘快捷键

IPython标准键盘快捷键

命令 说明

Ctrl-Shift-v 从剪贴板粘贴文本

Ctrl-C 终止当前正在执行的代码

异常和跟踪

如果%run某段脚本或执行某条语句时发生了异常,IPython默认会输出整个调用栈跟踪(traceback),其中还会附上调用栈各点附近的几行代码作为上下文参考。

拥有额外的上下文代码参考是它相对于标准Python解释器的一大优势。上下文代码参考的数量可以通过%xcode魔术命令进行控制。

魔术命令

IPython中有一些特殊的命令,是以%或者两个百分号(%%)为前缀的命令。

常用的IPython魔术命令

命令 说明

%quickref 显示IPython的快速参考

%magic 显示所有魔术命令的详细文档

%pdb 在异常发生后自动进入调试器

还有很多......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值