python中縮排是什麼
要求嚴格的程式碼縮排是python語法的一大特色,就像C語言家族(C、C 、Java等等)中的花括號一樣重要,在大多數場合還非常有必要。在許多程式碼規格裡面也都有要求程式碼書寫按照一定的規則進行換行和程式碼縮進,但是這些要求只是純粹是方便人(程式設計師)來閱讀、使用或修改的,對於編譯器或者解釋器而言,完全是視而不見的。
但是對Python解釋器而言,每行程式碼前的縮排都有語法和邏輯上的意義。 Python的這個特性,也常在Python使用者和非Python使用者中引起爭論。
實際上,python這種強制的程式碼縮進,就像一把雙面刃,有好處也有壞處。顯然,好處在於在嚴格要求的程式碼縮排之下,程式碼非常整齊規範,賞心悅目,提高了可讀性,在一定程度上也提高了可維護性。
但Python嚴格的程式碼縮進,對於從其他語言轉過來的人,由於現在電腦和相關專業第一種語言一般都是C/C 或Java,他們的語法風格基本上是一致的,所以可能要一段時間適應。 python程式碼縮排十分嚴格,如果不按其規則書寫程式碼,就可能會出現語法錯誤,例如unexpected indent之類的,甚至有時也會出現邏輯錯誤。
以C語言作為比較:
如下程式碼段:
if(True) { x=1;//语句1 y=2;//语句2 }
在C語言中,以大括號“{}”作為程式碼區塊的標識,上面的“語句1」「語句2」就是屬於「if 」條件語句的程式碼區塊,在大括號中,不用考慮語句的縮排,只要語句在「if」的大括號中,那它就屬於「if」的程式碼塊。但是為了提高程式碼的可閱讀性,一般都要求有格式良好的縮排!
在python中,由於程式碼縮排而出現語法錯誤或邏輯錯誤,一般有兩種情況:一是混用tab和空格縮排,二是編輯器對縮排的處理各異。這裡給一個例子,程式碼是這樣的:
def test(): ——if True: ————print("a") ——else: ————print("b") .....print("c")
在上面程式碼中,我用「—」表示一個「TAB」鍵,用「.」表示一個空格。一般情況下會認為上面會輸出a,但實際輸入ac,這是用Notepad 這類編輯器會出現的情況,原因是TAB鍵被編輯器當作4個空格了,所以看起來對其的代碼,在編輯器翻譯之後卻不再屬於同一個程式碼區塊,因為縮排不一樣!但是在pycharm中,依照上面的書寫方式,可以輸出預期的結果,可能是pycharm把一個TAB當成兩個空格的原因。
相關推薦:《Python教學》
以上是python中縮排是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!