縮排
Python最具特色的就是用縮寫來寫模組。我們下面以if選擇結構來舉例。 if後面跟隨條件,如果條件成立,則執行歸屬於if的一些語句。
先看C語言的表達方式(注意,這是C,不是Python!)
if ( i > 0 )
{
x = 1;這個語句是說,如果i>1的話,我們將進行括號中所包含的兩個賦值運算。
括號中包含的就是區塊運算,它顯示了其中的語句隸屬於if。
在Python中,同樣的目的,這段話是這樣的
if i > 0:
x = 1
括號 > y = 213 號去除了每個語句句尾的分號,表示塊的花括號也消失了。
多出來了if ...之後的:(冒號), 還有就是x = 1 和 y =2前面有四個空格的縮排。透過縮進,Python辨識出這兩個語句是隸屬於if。
Python這樣設計的理由很簡單,就是為了程式好看。
if語句
我們寫一個完整的程序,命名為ifDemo.py。這個程式用於實作if結構。
i = 1
x = 1
if i > 0:
x = x+1
print x
$python ifDemo.py.pyue因此執行x = x+1,。
print x語句沒有縮進,那就是if之外。
如果將第一句改成i = -1,那麼if遇到假值 (False), x = x+1隸屬於if, 這一句跳過。 print x沒有縮排,是if之外,不跳過,繼續執行。
這種以四個空格的縮進來表示隸屬關係的書寫方式,我們以後還會看到。 Python很強調程式的可讀性。強制縮排的要求讓程式設計師寫出整潔的程式。
複雜一些的if選擇:
i = 1
if i > 0:
print 'positive i'
is 0'
i = i * 10
else:
print 'negative i'
i = i - 1
print 'new i:', if else引領。
Python偵測條件,如果發現if的條件為假,那麼跳過後面緊接的區塊,偵測下一個elif的條件; 如果還是假,那麼執行else區塊。
透過上面的結構,實際上將程式分出三個分支。程式根據條件,只執行三個分支中的一個。
整個if可以放在另一個if語句中,也就是if結構的嵌套使用:
i = 5
if i > 1:
print 'i bigger than 1'
print 'i bigger than 1'
print 'i bigger than 1'
if i > 2:
print 'i bigger than 2'
print 'even better'
print 'even better'
if i > 2 後面的塊空格相對而不是外層的if。
總結
if語句之後的冒號
以四個空格的縮進來表示隸屬關係, Python中不能隨意縮進
if
: statementelif:
statement
else:
statement