前言
Python是一门优秀的编程语言,优秀到你只要在百度或者谷歌里面输入“py”就立刻由算法联想出一系列与Python有关的关键词,进入后更是会得到海量的相关内容,其中很大一部分就是教程,特别是“Python tutorial for beginners”云云。为什么还要写这个教程呢?主要有下面几点考虑:
首先,当前大多数的Python教程目的是“入门”,是真正的for beginner,仅对其基本语法泛泛而谈,没有的针对性。特别是针对科学研究方面的Python的中文教程还很少。当然,读者可以通过谷歌或者雅虎等搜索到很多Python应用于科研方面的英文教程,但对于大多数国内朋友来说,读英文还是相对比较容易疲劳的。读者通过本教程,可以比较容易地获取一些针对性较强的知识。
第二,本人是一名普通的科研工作者,在我的日常研究工作中Python是必不可少的科研工具。特别是在国外进行科研工作时,深切地感受到Python的强大和灵活性,另一方面,也耳濡目染了老外对开源软件的执着。特别是在本人研究的湍流射流领域,从实验数据处理到论文撰写,再到论文最终发表,大部分工作用Python和Notebook完成。
第三,与上一篇Markdown学习笔记一样,作为本人的学习和使用记录,同时也可以作为我的研究生的一份快速入门手册。
此外,还需要特别说明的是,作者并非程序员,因此对于本教程,主要还是从日常科研工作应用的角度来展开。由于工作比较忙,本教程也不能一蹴而就,只能得空就写一点了。
Why Python?
关于Python的各种好处,相信大家在网上已经读过许多了,这里不再赘言。我之谈几点与自己研究相关的体会:
- 可移植性。Python是一个跨平台语言,研究工作中往往同时用到windows和linux系统,因此Python就是一个很好的选择。
- 扩展性强。研究所需的工具,基本都有相关的Python库来提供,可以说只有想不到,没有搜不到!
- 代码简洁。这一点对于科研中的数据处理和数学建模特别有用。比如求解方程组,恐怕我们大多数人并不想花太多时间去自己写一个TDMA之类的东西,而是希望通过调用几个简单的函数实现。这一点与老大哥Matlab一样,但是Matlab收费啊,破解也只是权宜之计,国家对知识产权的保护一定会越来严格的。举个简单的例子,要实现交换两个变量(a=3; b=4)的值,C语言代码如下:
int t;
t=a;
a=b;
b=t;
而Python只需:
a,b = b,a
一行代码足矣!
- 优雅。虽然你一定会在其他教程里看到,这一点必须要再次强调。个人愚见:对于编程,优雅也是一种生产力!
目录
Hello!
国际惯例,你的第一个Python程序(2.x版本):
print 'Hello, Captain!'
或者(3.x版本):
print('Hello, Again!')
Enjoy.