python學習筆記(一)HelloWorld:從零開始學一門編程語言

一年前讀《集體智慧編程》這本書的時候用到過python,那個時候並沒有詳細去學習,只是粗略地過了一遍,基本已經忘光了,現在準備重新撿起來,並記錄整個學習過程,供以後進行參考。
(提示:本系列文章是以一個已學過別的語言的學習者的視角來學習python,因此許多編程的基礎內容並不會提到,詳細內容請參考文末資料,但是儘量會說人話,以便以後的自己(也包括讀者)進行理解,爭取做到即使失憶也能通過看這些文章快速學起來。)

學前思考

明確需求:(爲什麼使用這個語言?)想學會一門可以快速開發出想要的功能的語言,python滿足這個需求。
與已學的語言的區別:C/C++通常開發效率較低,運行效率相對較高,是編譯性語言。python開發較快,是解釋性語言。

從什麼學起

如果學過別的語言,學起來應該是比較快的,學習就是把新的知識與已有的認知建立起聯繫的過程,只需要瞭解清楚語法,就可以寫一些基本的程序。但是如果與之前學習的語言區別較大,就不能一味的通過建立聯繫的方法來學,因爲不同的語言(尤其是像C++和Python這樣)其編程思想都會有一定的差異。所以第一步是掌握基本語法,然後再通過接觸不同的項目以及閱讀源碼來大量實踐以體會其思想。
如果沒有學過編程,那麼體會編程的思想就要佔先,如何體會?只有通過實踐,每一行代碼都要親自手敲,理解每一句,搞清楚是在做什麼。日積月累,沒有速成。

準備內容

python 2.7
Windows7系統

開始

現在從零開始學起python。
1.輸入和輸出
大部分編程語言都喜歡用helloworld作爲第一個程序,事實上輸出確實是最重要的一個交互,因爲只有這樣才能知道程序當前的狀態。打開命令行進入python或者在python的IDE中寫下:

print 'helloworld'

再運行即可得到結果。
只有輸出並不夠,這樣只得到了程序的信息,它沒有得到用戶的信息,因此還需要輸入:

i = raw_input()
print i

使用raw_input()這個函數可以讓程序得到用戶的輸入,如何檢查輸入是否正確?那就需要再把它輸出出來讓用戶查看。信息的流動是這樣的:用戶->程序->用戶,用戶有大腦細胞存貯這個信息,程序也需要類似的“大腦細胞”,這就是變量。
2. 變量
如上程序中的i就是一個變量,變量可以存儲信息,如上程序中的輸入就被存儲在名爲i的變量中。
變量除了使用輸入的方法賦予值,還可以直接賦值:

r = 2
pi = 3.14
c = 'Perimeter'

注意到r、pi都是數字,而c是一個單詞,稱作字符串。他們是“不同”的,這就是數據的類型問題。
3.數據類型
python是一個動態語言,其變量的數據類型並不是像c++那種一成不變的。一個變量可以賦值爲數字,也可以賦值爲字符。具體的數據類型在應用到的時候再具體瞭解。要注意,雖然變量類型是動態的,但是作用在變量上的操作類型是不能隨意改變的。“操作”,即運算。
4.對變量的運算
我們所熟悉的運算即數學上的加減乘除,這是隻能作用在數值上的運算,如果用加減乘除去操作字符串將會得到未知結果。

r = 2
pi = 3.14
c = 'Perimeter'
p = pi*r*r
print c+p #錯誤

變量的類型並不止數值類,還有很多很多類別,要對這些類型的變量進行“運算”,需要使用能對其進行操作的函數。
5.函數
學過數學的都知道函數是什麼,計算機程序中的函數和數學上的函數有一定的相似。簡單概括說,函數是對一組操作進行抽象的符號。如上面程序中計算圓面積的公式pi*r*r,如果用一個符號來抽象爲Sc(r),它代表運算:pi*r*r。
python中定義函數的方法是:

def Sc(r):
    pi = 3.14
    return pi*r*r

其中,r是傳入的參數,代表圓半徑,return 後面的爲這個函數運算得到的值。這和數學上的函數幾乎一樣:輸入參數、得到結果。只是計算機中的函數可以選擇沒有參數,以及沒有返回值,可以只是單純的一組操作過程。
使用函數的方法:

print Sc(2)

注意:要先定義再使用。

python有很多內置的函數,可以實現許多功能。比如一個操作字符串的函數:
strip():功能:刪除字符串s開頭的所有空白符(包括\t\r)(這個函數還有別的功能 自查自試)

s = '  ssd dd'
s.strip()

此外,許多公司也推出了大量的python庫,許多功能無需從零編寫,直接借用函數庫即可。

總結:
第一篇中提了許多非常基本的也是非常常用的內容,雖然這些內容幾乎是所有語言的共通內容,完全不需要這麼多篇幅,但出於對自己理解的試探,還是把每個部分都寫下來了。另外,本文的結構將會與我所看的教程有所不同,因爲完全是按照自己的理解思路來寫的。
從下一篇將會開始Python的獨特內容,每天學習1小時,積累到有貨了再記錄下來成文。

參考資料:廖雪峯python教程:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章