登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 阿阿飞飞 于 2013-8-10 10:30 编辑
我的python学习历程
说是历程,其实时间很短,从今年(2013年)3月份开始接触python到现在不过5个月的时间。
下面开始流水账式叙述:
(1)为什么学习python
以前也听说过python,它的强制性缩进有所耳闻,一直没有接触。年初接触了个python做的系统(非界面化的),发现在我们气象海洋领域有人用python,便开始网上搜索关于python的一切,google也常给力的给出一张大蟒蛇的图(注:python翻译成中文即蟒蛇),发现在气象海洋领域,国外用的较多,而且用户群日益增多(一般问题都能用google搜到为证),国内用的较少(气象家园的论坛帖子数为证)。
本人以前是个忠实的IDL用户,历经IDL各版本的更新,但却越来越感觉用的不顺心,看了IDL vs Python一文http://www.astrobetter.com/idl-vs-python/后开始学习python。
同时附“I used Matlab. Now I use Python”一文http://stevetjoa.com/305/。
这里绝无抬高Python的用意,只是为大家更好的了解python。
附python对应IDL和MatLAB的命令对照
针对IDL用户的python命令对照表
https://www.cfa.harvard.edu/~jbattat/computer/python/science/idl-numpy.html
针对MatLAB用户的python命令对照
http://wiki.scipy.org/NumPy_for_Matlab_Users
(2)python能为我们做什么?
python可以作为IDL和MatLAB的补充或替代,python可以使用IDL的sav文件;可以读取MatLAB的mat数据文件;
使用f2py可以将fortran函数编译成python可以直接调用的函数文件;
使用pygrads包可以将python和grads结合起来使用;
使用pyNCL可以将python与NCL结合使用;
MeteoInfo版主王老师也推荐使用python脚本调用MeteoInfo进行绘图等操作。
(3)python版本的选择
python目前有2.7和3.3两种版本,为了更好的兼容性,选择2.7版本。
(4)python的编译环境在哪里
怎么编写python程序和运行呢?大神一般说写字板写程序,然后用python自带的编译环境编译即可。但对习惯了使用IDL和MatLAB等友好编译环境的很多人来说,这无疑打击了学习积极性和编程乐趣。
这里不再冗述本人以身试验各种编译环境的经历,直接给出历经磨难后的本人认为最佳选择:
下载WinPython:
地址:http://code.google.com/p/winpython/
在左侧Downloads下载最新版的版本32位或64位的,目前最新为WinPython-32bit-2.7.5.1.exe,下载安装即可,因为该程序为绿色安装,所以安装后没有注册环境变量,如果想注册,可以安装后在安装目录双击WinPython Control Panel后,在里面进行注册,注册的好处是可以双击运行.py程序。
WinPython安装后,安装目录出来一大堆东西,该运行哪一个呢?有时候给的选择太多未必是好事,容易迷茫。
起初我用的Spyder,双击运行安装目录下的Spyder.exe即可弹出一个类似MatLAB界面风格的环境,操作也类似,用了一段时间后,发现该环境速度有点慢,而且跟MatLAB比又显得寒酸,有没有Cool一点的环境呢?答案是肯定的。
IPython Notebook华丽登场,该怎么用呢?
首先下载安装google的浏览器chrome,因为该浏览器对Notebook支持最好,安装好后设为默认浏览器(别舍不得,为了工作嘛)。然后双击运行WinPython安装目录下的IPython Notebook.exe,会弹出一个dos框,同时chrome浏览器也启动起来了,一个很Cool的编译环境就呈现在面前了,可以点击new notebook建立一个新笔记本,建立后点击打开,可以根据需要把默认的笔记本名称改成自己需要的名称,以后每项工作都可以建立一个笔记本,不会像以前一样一大堆程序在文件夹中,想用的时候得找半天。
notebook中每块可以输入命令的地方称为cell,对每个cell可以选择设置为code或Raw text,或heading(即加粗显示)等,选择code即意味着该ceil可以输入运行命令,单行或多行都可以,选择text或heading即可以把当前cell当做程序说明。
这里简单给个示例程序,运行一下可以直接在cell下看到结果。
- import numpy as np
- import matplotlib.pyplot as plt
- a=np.arange(20)plt.plot(a)
然后使用快捷键ctrl+Enter即可运行显示,是不是很Cool呢?
运行完该cell后,可以使用insert 里面的insert cell above或below插入新的cell,使用tab键可以自动补全,如输入import matplotlib.后按tab键可以显示matplotlib的所有函数。
附:
这里面有老外们共享的notebook的
https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks
样例:
http://nbviewer.ipython.org/urls/raw.github.com/jrjohansson/scientific-python-lectures/master/Lecture-4-Matplotlib.ipynb
(5)小结
每种语言都有自身的优点和缺点,现在很多工作仅靠一种语言可能会吃力,在不耽误工作的情况下,多学一种语言有益而无害,希望大家能尝试下python,因为它是一种很容易上手且欲罢不能的语言。
文字较多,如有错误,敬请指出。转载请注明出处,谢谢!
再附一些东西:
书籍:
python在气象和海洋学中的应用
http://home.chpc.utah.edu/~u0035056/python/a_hands_on_introduction_to_using_python_in_the_atmospheric_and_oceanic_sciences.pdf
python在水文学中的应用:
http://greenteapress.com/pythonhydro/pythonhydro.pdf
论坛牛人Vamei的博客文章
飓风桑迪的显示:
http://www.cnblogs.com/vamei/archive/2012/11/07/2758006.html
人口分布在地图的显示:
http://www.cnblogs.com/vamei/archive/2012/09/16/2687954.html
|