本帖最后由 马财旺 于 2018-5-27 07:05 编辑
【上海校区】IPython:一种交互式计算和开发环境
2001年,Fernando Perez为了得到一个更为高效的交互式Python解释器而启动了一个业余项目,于是IPython项目诞生了。在接下来的11年中,它逐渐被公认为现代科学中最重要的Python工具之一。IPython本身并没有提供任何的计算或数据分析功能,其设计的目的在于交互式计算和软件开发这两个方面最大化地提高生产力。它鼓励一种“执行-探索”(execute explore) 的工作模式,而不是许多其他编程语言那种“编辑-编译-运行”(edit-complie-run)的传统工作模式。此外,它跟操作系统shell和文件系统之间也有着非常紧密的集成。由于大部分的数据分析代码都含有探索式操作(试误法和迭代法),因此IPython(在大多数情况下)将有助于提高你的工作效率。 当然了,IPython项目现在已经不再是一个加强版的交互式Python shell,它还有一个可以直接进行绘图操作的GUI控制台,一个基于Web的交互式笔记本,以及一个轻量级的快速并行计算引擎。此外,跟许多其他专为程序员设计(以及由程序员设计)的工具一样,它也是高度可定制的。
你可以通过命令行启动IPython,就像启动标准Python解释器一样,只是把命令改为ipython罢了: 你可以在这里执行任何Python语句,只需将其输入然后按下回车键就行了。如果只是在IPython中输入一个变量,那么它将会显示出该对象的一个字符串表示: 许多Python对象都被格式化为可读性更好(或者说排版更好)的形式,这跟print的普通输出形式有着显著区别。如果在标准Python解释器中打印上面那个字典对象,其可读性就没有那么好了: IPython还可以方便地执行任意代码块(通过少量优雅的复制粘贴操作)和整个Python脚本。 从表面上看,IPython就像一个化了淡妆的交互式Python解释器。数学软件(Mathematica)用户可能会对标号式的输入输出提示符眼熟。Tab键自动完成功能是对标准Python shell的主要改进之一,大部分交互式数据分析环境都有这个功能。在shell中输入表达式时,只要按下Tab键,当前命名空间中任何与已输入的字符串相匹配的变量(对象、函数等)就会被找出来: 在这个例子中可以看到,IPython将我定义的两个变量都显示出来了,此外还显示了Python关键字and和内置函数any。当然,你也可以在任何对象后面输入一个句点以便自动完成方法和属性的输入: 还可以用在模块上:
IPython默认会隐藏那些一下划线开头的方法和属性,比如魔法方法(magic method)以及内部的“私有”方法和属性,其目的是避免在屏幕上显示一堆乱七八糟的东西,其实这些也是可以通过Tab键自动完成的,需要先输入一个下划线才行。
|