前言
Python是一門優(yōu)秀的編程語言板惑,優(yōu)秀到你只要在百度或者谷歌里面輸入“py”就立刻由算法聯(lián)想出一系列與Python有關(guān)的關(guān)鍵詞阴孟,進(jìn)入后更是會得到海量的相關(guān)內(nèi)容番电,其中很大一部分就是教程稽坤,特別是“Python tutorial for beginners”云云剩拢。為什么還要寫這個教程呢?主要有下面幾點考慮:
首先够话,當(dāng)前大多數(shù)的Python教程目的是“入門”,是真正的for beginner光绕,僅對其基本語法泛泛而談女嘲,沒有的針對性。特別是針對科學(xué)研究方面的Python的中文教程還很少诞帐。當(dāng)然欣尼,讀者可以通過谷歌或者雅虎等搜索到很多Python應(yīng)用于科研方面的英文教程,但對于大多數(shù)國內(nèi)朋友來說停蕉,讀英文還是相對比較容易疲勞的愕鼓。讀者通過本教程,可以比較容易地獲取一些針對性較強(qiáng)的知識慧起。
第二菇晃,本人是一名普通的科研工作者,在我的日常研究工作中Python是必不可少的科研工具蚓挤。特別是在國外進(jìn)行科研工作時磺送,深切地感受到Python的強(qiáng)大和靈活性驻子,另一方面,也耳濡目染了老外對開源軟件的執(zhí)著估灿。特別是在本人研究的湍流射流領(lǐng)域崇呵,從實驗數(shù)據(jù)處理到論文撰寫,再到論文最終發(fā)表馅袁,大部分工作用Python和Notebook完成域慷。
第三,與上一篇Markdown學(xué)習(xí)筆記一樣汗销,作為本人的學(xué)習(xí)和使用記錄犹褒,同時也可以作為我的研究生的一份快速入門手冊。
此外大溜,還需要特別說明的是化漆,作者并非程序員,因此對于本教程钦奋,主要還是從日匙疲科研工作應(yīng)用的角度來展開。由于工作比較忙付材,本教程也不能一蹴而就朦拖,只能得空就寫一點了。
Why Python?
關(guān)于Python的各種好處厌衔,相信大家在網(wǎng)上已經(jīng)讀過許多了璧帝,這里不再贅言。我之談幾點與自己研究相關(guān)的體會:
- 可移植性富寿。Python是一個跨平臺語言睬隶,研究工作中往往同時用到windows和linux系統(tǒng),因此Python就是一個很好的選擇页徐。
- 擴(kuò)展性強(qiáng)苏潜。研究所需的工具,基本都有相關(guān)的Python庫來提供变勇,可以說只有想不到恤左,沒有搜不到!
- 代碼簡潔搀绣。這一點對于科研中的數(shù)據(jù)處理和數(shù)學(xué)建模特別有用飞袋。比如求解方程組,恐怕我們大多數(shù)人并不想花太多時間去自己寫一個TDMA之類的東西链患,而是希望通過調(diào)用幾個簡單的函數(shù)實現(xiàn)巧鸭。這一點與老大哥Matlab一樣,但是Matlab收費啊麻捻,破解也只是權(quán)宜之計蹄皱,國家對知識產(chǎn)權(quán)的保護(hù)一定會越來嚴(yán)格的览闰。舉個簡單的例子,要實現(xiàn)交換兩個變量(a=3; b=4)的值巷折,C語言代碼如下:
int t;
t=a;
a=b;
b=t;
而Python只需:
a,b = b,a
一行代碼足矣压鉴!
- 優(yōu)雅。雖然你一定會在其他教程里看到锻拘,這一點必須要再次強(qiáng)調(diào)油吭。個人愚見:對于編程,優(yōu)雅也是一種生產(chǎn)力署拟!
目錄
- 關(guān)于版本與安裝
- 最基本的語法
- 變量和運(yùn)算符
- 數(shù)據(jù)類型之?dāng)?shù)值類型
- 數(shù)據(jù)類型之非數(shù)值類型
- 控制和循環(huán)
- 類和對象
- 模塊和包
- To be added... ...
- To be added... ...
Hello!
國際慣例婉宰,你的第一個Python程序(2.x版本):
print 'Hello, Captain!'
或者(3.x版本):
print('Hello, Again!')
Enjoy.