關(guān)于 python 的縮進(jìn)



python 對縮進(jìn)是敏感的,而大多教程對縮進(jìn)規(guī)則,往往就幾句話帶過,對于沒有其他語言基礎(chǔ)的初學(xué)者,十分不友好,本文就把python常見的縮進(jìn)問題做了一些整理。

??吹揭恍㏄ython縮進(jìn)錯(cuò)誤的解讀,“tab符和空格做為縮進(jìn)不能混用”、“縮進(jìn)一定是4個(gè)空格”。實(shí)際上并沒有這些限制,圖中的示例就可以正常運(yùn)行的。

只是空格和tab符的顯示都是空白,只是長度不同。如果混用,代碼顯示容易意混淆,增加維護(hù)及調(diào)試的困難、降低代碼易讀性,因此 Python PEP8 編碼規(guī)范,指導(dǎo)使用4個(gè)空格作為縮進(jìn)。而實(shí)際開發(fā),比較復(fù)雜的代碼則會(huì)選擇2個(gè)空格做為縮進(jìn),這樣更易于閱讀,嵌套比較深的代碼。


1.物理行和邏輯行判斷縮進(jìn),首先要區(qū)分物理行和邏輯行,縮進(jìn)是針對邏輯行的。
物理行:代碼編輯器中顯示的代碼,每一行內(nèi)容是一個(gè)物理行。
邏輯行:Python解釋器對代碼進(jìn)行解釋,一個(gè)語句是一個(gè)邏輯行。


使用";“號將兩個(gè)或多個(gè)邏輯行合并成一個(gè)物理行。
使用”"號連接兩個(gè)物理行。
字典、列表等變量賦值語句,是可以直接書寫為多個(gè)物理行的。


邏輯行的“首行”需要頂格,即無縮進(jìn)
相同邏輯層保持相同的縮進(jìn)

":"標(biāo)記一個(gè)新的邏輯層, 增加縮進(jìn):進(jìn)入下一個(gè)代碼層,減少縮進(jìn):返回上一個(gè)代碼層


1、常用的IDE都會(huì)有自動(dòng)縮進(jìn)的機(jī)制,即輸入“:”號之后,按“回車”會(huì)自動(dòng)進(jìn)行縮進(jìn)。
例如pycharm的代碼編輯:

2、設(shè)置使用什么字符標(biāo)識縮進(jìn)、tab符做為縮進(jìn)、一個(gè)tab代替幾個(gè)空格、行連接縮進(jìn)量,等等。


