從零學(xué)Python之入門(mén)(五)縮進(jìn)和選擇
縮進(jìn)
Python最具特色的是用縮進(jìn)來(lái)標(biāo)明成塊的代碼。我下面以if選擇結(jié)構(gòu)來(lái)舉例。if后面跟隨條件,如果條件成立,則執(zhí)行歸屬于if的一個(gè)代碼塊。
先看C語(yǔ)言的表達(dá)方式(注意,這是C,不是Python!)
if ( i > 0 )
{
x = 1;
y = 2;
}
如果i > 0的話,我們將進(jìn)行括號(hào)中所包括的兩個(gè)賦值操作。括號(hào)中包含的就是塊操作,它隸屬于if。
在Python中,同樣的目的,這段話是這樣的
if i > 0:
x = 1
y = 2
在Python中, 去掉了i > 0周?chē)睦ㄌ?hào),去除了每個(gè)語(yǔ)句句尾的分號(hào),表示塊的花括號(hào)也消失了。
多出來(lái)了if ...之后的:(冒號(hào)), 還有就是x = 1 和 y =2前面有四個(gè)空格的縮進(jìn)。通過(guò)縮進(jìn),Python識(shí)別出這兩個(gè)語(yǔ)句是隸屬于if。
Python這樣設(shè)計(jì)的理由純粹是為了程序好看。
if語(yǔ)句
寫(xiě)一個(gè)完整的程序,命名為ifDemo.py。這個(gè)程序用于實(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的時(shí)候,條件為T(mén)rue,因此執(zhí)行x = x+1,。
print x語(yǔ)句沒(méi)有縮進(jìn),那么就是if之外。
如果將第一句改成i = -1,那么if遇到假值 (False), x = x+1隸屬于if, 這一句跳過(guò)。 print x沒(méi)有縮進(jìn),是if之外,不跳過(guò),繼續(xù)執(zhí)行。
這種以四個(gè)空格的縮進(jìn)來(lái)表示隸屬關(guān)系的書(shū)寫(xiě)方式,以后還會(huì)看到。強(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
這里有三個(gè)塊,分別屬于if, elif, else引領(lǐng)。
Python檢測(cè)條件,如果發(fā)現(xiàn)if的條件為假,那么跳過(guò)后面緊跟的塊,檢測(cè)下一個(gè)elif的條件; 如果還是假,那么執(zhí)行else塊。
通過(guò)上面的結(jié)構(gòu)將程序分出三個(gè)分支。程序根據(jù)條件,只執(zhí)行三個(gè)分支中的一個(gè)。
整個(gè)if可以放在另一個(gè)if語(yǔ)句中,也就是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 后面的塊相對(duì)于該if縮進(jìn)了四個(gè)空格,以表明其隸屬于該if,而不是外層的if。
總結(jié)
if語(yǔ)句之后的冒號(hào)
以四個(gè)空格的縮進(jìn)來(lái)表示隸屬關(guān)系, Python中不能隨意縮進(jìn)
if <條件1>:
statement
elif <條件2>:
statement
elif <條件3>:
statement
else:
statement
相關(guān)文章
python關(guān)于調(diào)用函數(shù)外的變量實(shí)例
今天小編就為大家分享一篇python關(guān)于調(diào)用函數(shù)外的變量實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
對(duì)django后臺(tái)admin下拉框進(jìn)行過(guò)濾的實(shí)例
今天小編就為大家分享一篇對(duì)django后臺(tái)admin下拉框進(jìn)行過(guò)濾的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
python 實(shí)現(xiàn)添加標(biāo)簽&打標(biāo)簽的操作
這篇文章主要介紹了python 實(shí)現(xiàn)添加標(biāo)簽&打標(biāo)簽的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
python smtplib模塊實(shí)現(xiàn)發(fā)送郵件帶附件sendmail
這篇文章主要為大家詳細(xì)介紹了python smtplib模塊實(shí)現(xiàn)發(fā)送郵件帶附件sendmail,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
基于python-opencv3實(shí)現(xiàn)圖像顯示和保存操作
這篇文章主要介紹了基于python opencv3的圖像顯示和保存操作方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-06-06
django實(shí)現(xiàn)登錄時(shí)候輸入密碼錯(cuò)誤5次鎖定用戶(hù)十分鐘
這篇文章主要介紹了django實(shí)現(xiàn)登錄時(shí)候輸入密碼錯(cuò)誤5次鎖定用戶(hù)十分鐘,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
Python mutiprocessing多線程池pool操作示例
這篇文章主要介紹了Python mutiprocessing多線程池pool操作,結(jié)合實(shí)例形式分析了Python多線程模塊multiprocessing進(jìn)程池相關(guān)操作技巧,需要的朋友可以參考下2019-01-01
django 使用 request 獲取瀏覽器發(fā)送的參數(shù)示例代碼
這篇文章主要介紹了django 使用 request 獲取瀏覽器發(fā)送的參數(shù)示例代碼,獲取數(shù)據(jù)有四種方式,具體內(nèi)容詳情大家跟隨腳本之家小編一起看看吧2018-06-06

