內縮語法

  1. 一般程式語言對於控制流程、函式、類別等區塊程式碼,開始與結束會以指定的碼來對應。例如:shell script 的 if 判斷式,結束程式碼為 fi。但對於程式碼的內縮排列則不規定。
  2. python 最特別的設計是以內縮來判斷控制流程、函式等區塊程式碼的開始與結束,因此每段區塊程式碼都沒有結束程式碼的設計。
  3. 這種設計不但可減少程式碼,更可強迫程式撰寫者以階層式撰寫,讓程式更容易解讀。
  4. 要對齊才算是同區塊程式碼,若用 4 個空白內縮,則同區塊程式都要用 4 個空白對齊,即使 tab 設定為 4 個空白位置,也無法執行。
  5. 錯誤的 python 程式碼
    [pyuser@deyu zzz]$ vi error.py
    [pyuser@deyu zzz]$ cat error.py
    if True:
    print("Yes")
    else:
    print("No")
    pyuser@deyu:~/zzz$ python error.py
      File "/home/pyuser/zzz/error.py", line 2
        print("Yes")
        ^^^^^
    IndentationError: expected an indented block after 'if' statement on line 1
    
  6. 正確的 python 程式:
    pyuser@deyu:~/zzz$ vi correct.py
    pyuser@deyu:~/zzz$ cat correct.py
    if True:
        print("Yes")
    else:
        print("No")
    
  7. 執行結果:
    pyuser@deyu:~/zzz$ python correct.py
    Yes