從零學(xué)Python之入門(五)縮進(jìn)和選擇
縮進(jìn)
Python最具特色的是用縮進(jìn)來標(biāo)明成塊的代碼。我下面以if選擇結(jié)構(gòu)來舉例。if后面跟隨條件,如果條件成立,則執(zhí)行歸屬于if的一個代碼塊。
先看C語言的表達(dá)方式(注意,這是C,不是Python!)
if ( i > 0 )
{
x = 1;
y = 2;
}
如果i > 0的話,我們將進(jìn)行括號中所包括的兩個賦值操作。括號中包含的就是塊操作,它隸屬于if。
在Python中,同樣的目的,這段話是這樣的
if i > 0:
x = 1
y = 2
在Python中, 去掉了i > 0周圍的括號,去除了每個語句句尾的分號,表示塊的花括號也消失了。
多出來了if ...之后的:(冒號), 還有就是x = 1 和 y =2前面有四個空格的縮進(jìn)。通過縮進(jìn),Python識別出這兩個語句是隸屬于if。
Python這樣設(shè)計的理由純粹是為了程序好看。
if語句
寫一個完整的程序,命名為ifDemo.py。這個程序用于實(shí)現(xiàn)if結(jié)構(gòu)。
i = 1
x = 1
if i > 0:
x = x+1
print x
$python ifDemo.py # 運(yùn)行
程序運(yùn)行到if的時候,條件為True,因此執(zhí)行x = x+1,。
print x語句沒有縮進(jìn),那么就是if之外。
如果將第一句改成i = -1,那么if遇到假值 (False), x = x+1隸屬于if, 這一句跳過。 print x沒有縮進(jìn),是if之外,不跳過,繼續(xù)執(zhí)行。
這種以四個空格的縮進(jìn)來表示隸屬關(guān)系的書寫方式,以后還會看到。強(qiáng)制縮進(jìn)增強(qiáng)了程序的可讀性。
復(fù)雜一些的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引領(lǐng)。
Python檢測條件,如果發(fā)現(xiàn)if的條件為假,那么跳過后面緊跟的塊,檢測下一個elif的條件; 如果還是假,那么執(zhí)行else塊。
通過上面的結(jié)構(gòu)將程序分出三個分支。程序根據(jù)條件,只執(zhí)行三個分支中的一個。
整個if可以放在另一個if語句中,也就是if結(jié)構(gòu)的嵌套使用:
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縮進(jìn)了四個空格,以表明其隸屬于該if,而不是外層的if。
總結(jié)
if語句之后的冒號
以四個空格的縮進(jìn)來表示隸屬關(guān)系, Python中不能隨意縮進(jìn)
if <條件1>:
statement
elif <條件2>:
statement
elif <條件3>:
statement
else:
statement
相關(guān)文章
python?基于aiohttp的異步爬蟲實(shí)戰(zhàn)詳解
這篇文章主要為大家介紹了python?基于aiohttp的異步爬蟲實(shí)戰(zhàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09在Ubuntu系統(tǒng)下安裝使用Python的GUI工具wxPython
這篇文章主要介紹了在Ubuntu系統(tǒng)下安裝使用Python的GUI工具wxPython的方法,wxPython可以為Python提供強(qiáng)大的圖形化界面開發(fā)支持,需要的朋友可以參考下2016-02-02小白學(xué)Python之實(shí)現(xiàn)OCR識別
將圖片翻譯成文字一般被稱為光學(xué)文字識別(Optical Character Recognition,OCR),這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)OCR識別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-08-08python GUI庫圖形界面開發(fā)之PyQt5信號與槽的高級使用技巧裝飾器信號與槽詳細(xì)使用方法與實(shí)例
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5信號與槽的高級使用技巧裝飾器信號與槽詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下2020-03-03python中的不可變數(shù)據(jù)類型與可變數(shù)據(jù)類型詳解
探尋python的數(shù)據(jù)類型是否可變,也可以更好的理解python對內(nèi)存的使用情況,下面這篇文章主要給大家介紹了關(guān)于python中不可變數(shù)據(jù)類型與可變數(shù)據(jù)類型的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-09-09