零基础学Python:为计算做准备

闲谈

计算机姑娘是擅长进行科学计算的,本来她就是做这个的,只不过后来人们让她处理了很多文字内容罢了,乃至于现在有一些人认为她是用来打字写文章的(变成打字机了),忘记了她最擅长的计算。

每种编程语言都能用来做计算,区别在于编程过程中,是否有足够的工具包供给。比如用汇编,就得自己多劳动,如果用Fortran,就方便得多了。不知道读者是否听说过Fortran,貌似古老,现在仍被使用。(以下引文均来自维基百科)

还有一个广为应用的不得不说,那就是matlab,一直以来被人称赞。

但是,它是收费的商业软件,虽然在某国这个无所谓。

还有R语言,也是在计算领域被多多使用的。

最后要说的就是python,近几年使用python的领域不断扩张,包括在科学计算领域,它已经成为了一种趋势。在这个过程中,虽然有不少人诟病python的这个慢那个解释动态语言之类(这种说法是值得讨论的),但是,依然无法阻挡python在科学计算领域大行其道。之所以这样,就是因为它是python。

  • 开源,就这一条就已经足够了,一定要用开源的东西。至于为什么,本教程前面都阐述过了。
  • 因为开源,所以有非常棒的社区,里面有相当多支持科学计算的库,不用还等待何时?
  • 简单易学,这点对那些不是专业程序员来讲非常重要。我就接触到一些搞天文学和生物学的研究者,他们正在使用python进行计算。
  • 在科学计算上如果用了python,能够让数据跟其它的比如web无缝对接,这不是很好的吗?

当然,最重要一点,就是本教程是讲python的,所以,在科学计算这块肯定不会讲Fortran或者R,一定得是python。

安装

如果读者使用Ubuntu或者Debian,可以这样来安装:

sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

一股脑把可能用上的都先装上。在安装的时候,如果需要其它的依赖,你会明显看到的。

如果是别的系统,比如windows类,请自己网上查找安装方法吧,这里内容不少,最权威的是看官方网站列出的安装:http://www.scipy.org/install.html

基本操作

在科学计算中,业界比较喜欢使用ipython notebook,前面已经安装。在shell中执行

ipython notebook --pylab=inline

得到下图的界面,这是在浏览器中打开的:

在In后面的编辑去,可以写python语句。然后按下SHIFT+ENTER或者CTRL+ENTER 就能执行了,如果按下ENTER,不是执行,是在当前编辑区换行。

Ipython Notebook是一个非常不错的编辑器,执行之后,直接显示出来输入内容和输出的结果。当然,错误是难免的,它会:

注意观察图中的箭头所示,直接标出有问题的行。返回编辑区,修改之后可继续执行。

不要忽视左边的辅助操作,能够让你在使用ipython notebook的时候更方便。

除了在网页中之外,如果你已经喜欢上了python的交互模式,特别是你用的计算机中有一个shell的东西,更是棒了。于是可以:

$ ipython

进入了一个类似于python的交互模式中,如下所示:

In [1]: print "hello, pandas"
hello, pandas

In [2]:

或者说ipython同样是一个不错的交互模式。