安裝Python
為了使用Python語言,在電腦上要安裝Python「編譯器」(interpreter),用它來讀取、理解和執行Python程式碼。我們還需要能輸入和儲存程式碼的工具。
從python.org免費下載Python時,我們會獲得IDLE(Integrated DeveLopment Environment,整合開發環境),讓我們建立、儲存、編譯和執行程式碼。IDLE是一種程式設計師使用的離線整合開發環境(IDE)。Python也有幾種線上的版本。我們可以用不同的IDE來輸入和執行Python程式碼,但本書呈現的截圖和範例都是在Python IDLE的程式碼。
目前Python有兩大版本:Python 2和Python 3。本書採用Python 3。
如何使用本書
Python程式碼和虛擬程式碼的字體和其他文字不同。程式碼中的註解以粗體表示。程式的輸出放置在標頭「Sample Run」下方。程式碼無法容納在一行時,用「\」表示換行。
這是程式碼 # 這是註解
程式碼很長的時候會換行 \
到第二行,注意行末的 \
符號
虛擬程式碼
這是虛擬程式碼
第一行程式碼
安裝Python IDLE後,執行這個應用程式,就會看到Python殼層視窗(shell window)。左邊的視窗是來自Mac,但其他平臺的版本會類似。你會看到以下提示:
>>>
它已經準備好讓你輸入程式碼。
Python殼層是可以用來實驗片段程式碼的地方,因為程式碼會立即執行。除非選擇儲存,否則Python殼層中的程式碼在關閉IDLE後就會遺失。我們會用Python殼層來測試和學習列於本書「主要概念」的Python程式碼。針對專題的部分,我們會用IDLE來輸入程式碼到檔案裡,這樣就能儲存、變更和多次執行。
傳統上,程式設計的入門是經典的「hello, world」程式。它的目的是讓電腦在螢幕上顯示這兩個字。這個簡單的程式有幾種變化,包含加上「!」和使用大寫,但在本書,我們要用這句話的最早版本之一「hello, world」。
在Python,如果要在螢幕上顯示任何東西,也就是讓螢幕上出現文字,只要輸入「print」,並把要顯示的文字放在括號內的引號中。
首先,在Python殼層的提示>>>>輸入以下:
print('hello, world')
程式碼有區分大小寫,應全部以小寫輸入,而文字放在單引號或雙引號內皆可。
電腦隨即會回應「hello, world」。接著回到提示,等待其他指令。多輸入一些要顯示的句子吧。
程式不同部分的顏色
為了讓程式設計更簡單,IDLE可以把程式碼的不同部分以不同顏色顯示。例如Python字串「hello, world」可以用綠色顯示,而Python函式「print」可以用紫色顯示。點選IDLE設定就能自動這些顏色和字型。
Python函式
前面的print程式碼在電腦程式語言裡稱為print「函式」(function)。函式是用來做事情的程式碼。你可能已經在數學或試算表應用程式看過函式(例如試算表的「平均」函式會取數字集合的平均)。可以把Python函式想成用來做某件事的黑盒子。不需要知道裡面的魔法,只要知道怎麼用。我們不用知道print函式的原理也能在螢幕上顯示文字。
有時候函式會讀取資訊,有時候會回報資訊。例如print函式會讀取要顯示的資訊(引號內的文字),接著做我們要它做的事:在螢幕上顯示這個資訊。在本書中,介紹Python程式語言時我們會用「函式」這個詞來取代「指令」或「程式碼」。
在Python寫程式時,我們會用Python語言裡可用的很多函式。在第4章,我們會學習如何寫出自己的函式。
電腦很挑剔:認識錯誤
和之前一樣輸入print程式碼,但這次放進一個錯誤,例如拼錯字或少一個引號。會怎樣呢?
>>> print('hello, world)
SyntaxError: EOL while scanning string literal
>>> Print('hello, world')
Traceback (most recent call last):
File "
", line 1, in
Print('hello, world')
NameError: name 'Print' is not defined
>>>
我們會在Python殼層看到以IDLE所設的顏色(例如紅色)顯示的錯誤訊息。如你所見,在print指令少放下引號或使用大寫P是起不了作用的。
電腦很挑剔!在程式碼裡即使是小錯誤也會產生稱為「語法錯誤」(syntax error)的錯誤。這代表語言沒有確實依照定義來使用;這種錯誤和語言的語法有關。
語法錯誤通常容易修正,尤其因為錯誤旁邊會有彩色行或錯誤訊息會解釋電腦哪邊看不懂。所有語法錯誤都修正後,電腦程式仍然可能不會如預期來運作。這種錯誤稱為「執行階段錯誤」(runtime error)。這是來自程式碼使用方式或解決問題方法的錯誤。這種錯誤就是程式碼中的「bug」。有些bug容易修正,但有些要花很多時間。找出和修正這些bug的過程稱為「除錯」(debug),是學習程式設計很關鍵的一部分。