Python縮排規則(一看即懂)

2020-07-16 10:05:24
通常來說,一條 Python 語句應在一行內寫完,但如果語句很長,可以使用反斜槓來實現多行語句,例如:
s = "我正在寫
一本關於Python的書"
print(
s)

需要注意的是,在成對的大括號{ }、中括號[ ]或小括號( )中的多行語句,不需要使用反斜槓,例如:
total = ['item_one', 'item_two', 'item_three', 'item_four', 'item_five']
可見,在編寫程式時使用的是物理行,Python 環境使用的則是邏輯行。在 Python 中可以使用分號;標識一個邏輯行的結束,但為了避免使用分號,通常在每個物理行中只寫一個邏輯行。

Python 最具特色的語法是使用縮排來表示程式碼塊,好處是不需要像其他語言一樣使用大括號{ }。行首的空白(空格或製表符)用來決定邏輯行的縮排層次,從而決定語句的分組(即程式碼塊),這意味著不同程式碼塊縮排的距離(即行首空白)可以不同,但同一程式碼塊的語句必須有相同的縮排距離,每一組這樣的語句稱為一個程式碼塊。

例如:
if True:
    print ("True")
else:
    print("False")

而以下程式碼由於最後一行語句縮排距離不一致,執行時將出現錯誤:
if True:
    print("Answer")
    print("True")
else:
    print("Answer")
  print("False")  #縮排不一致,會導致執行錯誤
程式執行結果為:

>>>if True:
...         print("Answer")
...         print("True")
...     else:
...        print("Answer")
...       print("False")  #縮排不一致,會導致執行錯誤
    File "(stdin)", line 6
        print ("False")   #縮排不一致,會導致執行錯誤
                                                        ^
IndentationError: unindent does not match any outer indentation level

注意:不要混合使用空格和製表符來縮排,這將導致同一段 Python 程式碼在不同的作業系統中無法正常工作。