怎么能快速地掌握Python?這是和朋友閑聊時談起的問題。
Python包含的內容很多,加上各種標準庫、拓展庫,亂花漸欲迷人眼。我一直希望寫一個快速的、容易上手的Python教程,而且言語簡潔,循序漸進,讓沒有背景的讀者也可以從基礎開始學習。我將在每一篇中專注于一個小的概念,希望在閑暇時可以很快讀完。
小提醒
- 教程將專注于Python基礎,語法基于Python 2.7 (我會提醒Python 3.x中有變化的地方,以方便讀者適應3.X的情況)。測試環(huán)境為Linux。標準庫的一些包不適用于Windows平臺。如果文中的程序無法在你的平臺上運行,歡迎討論。
- 我將專注于Python的主干,以便讀者能以最快時間對Python形成概念。
- Linux命令行將以$開始,比如 $ls, $python
- Python命令行將以>>>開始,比如 >>>print 'Hello World!'
- 注釋會以#開始
建議
- 將教程中的命令敲到Python中看看效果。
- 看過教程之后,可以進行一些練習。
- 參與文章評論區(qū)的討論,可以更好的積累經(jīng)驗。
教程內容
縮進
Python最具特色的是用縮進來標明成塊的代碼。我下面以if選擇結構來舉例。if后面跟隨條件,如果條件成立,則執(zhí)行歸屬于if的一個代碼塊。
先看C語言的表達方式(注意,這是C,不是Python!)
- if ( i > 0 )
- {
- x = 1;
- y = 2;
- }
如果i > 0的話,我們將進行括號中所包括的兩個賦值操作。括號中包含的就是塊操作,它隸屬于if。
在Python中,同樣的目的,這段話是這樣的
- if i > 0:
- x = 1
- y = 2
在Python中, 去掉了i > 0周圍的括號,去除了每個語句句尾的分號,表示塊的花括號也消失了。
多出來了if ...之后的:(冒號), 還有就是x = 1 和 y =2前面有四個空格的縮進。通過縮進,Python識別出這兩個語句是隸屬于if。
Python這樣設計的理由純粹是為了程序好看。
if語句
寫一個完整的程序,命名為ifDemo.py。這個程序用于實現(xiàn)if結構。
- i = 1
- x = 1
- if i > 0:
- x = x+1
- print x
$python ifDemo.py # 運行
程序運行到if的時候,條件為True,因此執(zhí)行x = x+1,。
print x語句沒有縮進,那么就是if之外。
如果將第一句改成i = -1,那么if遇到假值 (False), x = x+1隸屬于if, 這一句跳過。 print x沒有縮進,是if之外,不跳過,繼續(xù)執(zhí)行。
這種以四個空格的縮進來表示隸屬關系的書寫方式,以后還會看到。強制縮進增強了程序的可讀性。
復雜一些的if選擇:
- i = 1
- if i > 0:
- print 'positive i'
- i = i + 1
- elif i == 0:
- print 'i is 0'
- i = i * 10
- else:
- print 'negative i'
- i = i - 1
- print 'new i:',i
這里有三個塊,分別屬于if, elif, else引領。
Python檢測條件,如果發(fā)現(xiàn)if的條件為假,那么跳過后面緊跟的塊,檢測下一個elif的條件; 如果還是假,那么執(zhí)行else塊。
通過上面的結構將程序分出三個分支。程序根據(jù)條件,只執(zhí)行三個分支中的一個。
整個if可以放在另一個if語句中,也就是if結構的嵌套使用:
- i = 5
- if i > 1:
- print 'i bigger than 1' print 'good'
- if i > 2:
- print 'i bigger than 2'
- print 'even better'
if i > 2 后面的塊相對于該if縮進了四個空格,以表明其隸屬于該if,而不是外層的if。
總結
if語句之后的冒號
以四個空格的縮進來表示隸屬關系, Python中不能隨意縮進
- if <條件1>:
- statement
- elif <條件2>:
- statement
- elif <條件3>:
- statement
- else:
- statement
完整教程可查看:Python教程
作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝!