Python 3.1 快速導覽 - Python 與縮排

Python 以縮排 (indentation) 辨別程式區塊 (block) ,這不同於其他程式語言常用的大括弧。例如,以下的 Java 程式利用大括弧圍住 while 迴圈 (loop) 所要重複執行的陳述 (statement)

while (i <= 100) {
    s += i;
    i += 1;
}


換成 Python ,程式如下
while i <= 100:
    s += i
    i += 1


利用第 2 行與第 3 行
s += i
i += 1


與第 1 行
while i <= 100:


每一行前面多了 4 個空白鍵,這樣的縮排方式,使第 2 行與第 3 行成為獨立的程式區塊。


我們將這個程式片段舉一個完整例子如下
i = 1
s = 0

while i <= 100:
    s += i
    i += 1

print("1+2+...+100=", s)

# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:indent.py
# 功能:示範 Python 程式 
# 作者:張凱慶
# 時間:西元 2010 年 12 月 */


執行結果如下



但須注意,按 tab 鍵通常與自己按 space 鍵相同次數效果相同,上例中的縮排是按 space 鍵四次。但是 tab 與 space 的空格是不同的符號,若是上面程式的第 6 行改以 tab 符號,執行會出現如下的錯誤



這是告訴我們,程式中混用了 tab 與 space 符號。


怎麼做縮排可以自己決定,利用單一的 tab 鍵,或是空 1 格、空 2 格或是多少格都可隨自己喜好,我們的例子會以空 4 格的方式進行縮排。


中英文術語對照
縮排indentation
區塊block
迴圈loop
陳述statement




沒有留言: