在python中縮進(jìn)是非常關(guān)鍵的,相同的縮進(jìn)確保了邏輯相關(guān)的語(yǔ)句被組織在一起溶浴。比如說(shuō)一個(gè)話術(shù)的定義部分士败,就需要有相同的起始縮進(jìn),如果我們錯(cuò)誤的使用了縮進(jìn)似踱,我們則可能會(huì)在程序運(yùn)行時(shí)被告知存在語(yǔ)法錯(cuò)誤(Syntax Error)
PS:因此轧简,學(xué)會(huì)正確的在編程過(guò)程中使用縮進(jìn)就顯得格外的重要了。
在python中浸须,我們鼓勵(lì)使用空格來(lái)進(jìn)行縮進(jìn)晕换,根據(jù)Python的官方風(fēng)格規(guī)范( PEP 8)站宗,我們對(duì)邏輯相同的語(yǔ)句進(jìn)行組織時(shí)闸准,應(yīng)該使用4個(gè)空格。(但實(shí)際上也有諸如google之類的很多企業(yè)在企業(yè)規(guī)范中要求用2個(gè)空格進(jìn)行縮進(jìn))梢灭。
我們極為反對(duì)使用你鍵盤上的制表建(tab)進(jìn)行縮進(jìn)夷家,不同的編輯器對(duì)制表建有著不同的處理方式蒸其,有的會(huì)轉(zhuǎn)成特定數(shù)量個(gè)空格,有的則直接使用制表字符库快,不同意的顯示會(huì)給多人協(xié)作和代碼交流帶來(lái)很多的不便摸袁。
def max_pow(a,b):
? ? if a > b:
? ? ? ? pow_ab = a ** b
? ? ? ? return pow_ab
? ? pow_ba = b ** a
? ? return pow_ba
你或許注意到了這棵的第一段提到了起始縮進(jìn)的概念,對(duì)于每一個(gè)起到組織語(yǔ)句作用的語(yǔ)句义屏,比如上面的程序的def和if靠汁,他們都會(huì)有自己的起始縮進(jìn)。對(duì)于上面這段代碼闽铐,函數(shù)下轄的語(yǔ)句共有一個(gè)自己的起始縮進(jìn)蝶怔,我們可以看見這里是4個(gè)空格。而在if起始的這行后阳啥,有兩行則又因?yàn)樗麄儽唤M織在if這條語(yǔ)句下,而擁有相同的8個(gè)空格的實(shí)際縮進(jìn)财喳,其中4個(gè)是因?yàn)樗麄儽唤M織在這個(gè)函數(shù)下察迟,由函數(shù)貢獻(xiàn)的起始縮進(jìn),而另外4個(gè)是因?yàn)樗麄儽唤M織在這個(gè)函數(shù)下的if語(yǔ)句中而進(jìn)一步累加的由if語(yǔ)句貢獻(xiàn)的起始縮進(jìn)耳高。