Python基礎05 縮進和選擇


作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝!

 

縮進

Python最具特色的是用縮進來標明成塊的代碼。我下面以if選擇結構來舉例。if后面跟隨條件,如果條件成立,則執行歸屬於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。這個程序用於實現if結構。

i = 1 x = 1
if i > 0: x = x+1
print x

$python ifDemo.py  # 運行

程序運行到if的時候,條件為True,因此執行x = x+1,。

print x語句沒有縮進,那么就是if之外。

 

如果將第一句改成i = -1,那么if遇到假值 (False), x = x+1隸屬於if, 這一句跳過。 print x沒有縮進,是if之外,不跳過,繼續執行。

 

這種以四個空格的縮進來表示隸屬關系的書寫方式,以后還會看到。強制縮進增強了程序的可讀性

 

復雜一些的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檢測條件,如果發現if的條件為假,那么跳過后面緊跟的塊,檢測下一個elif的條件; 如果還是假,那么執行else塊。
通過上面的結構將程序分出三個分支。程序根據條件,只執行三個分支中的一個。



整個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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM