前言:
什麼是程式設計?
程式設計是給電腦指令的一種方式,用電腦能理解的語言來寫成指令。可以把程式設計想成對電腦「說話」,叫它解決問題或做出東西,像是遊戲或應用程式。我們用來對電腦說話的語言就是程式語言,而一整套指令就稱為「程式」(program)或「程式碼」(code)。
為什麼要學程式設計?
程式設計是一種強大的工具,讓我們發揮創意來製做自己的應用程式、工具和遊戲。程式設計讓藝術家和Maker創作只有程式碼能完成的作品。學習程式設計能幫助我們了解周遭的數位世界。現代的世界是建立在程式碼的基礎上,從智慧型手機的應用程式、線上購物網站到自動櫃員機(ATM)都是。因為電腦影響了幾乎所有產業,瞭解程式碼可以讓你為任何工作做好準備。
程式設計的一環是解決問題。寫程式時,我們要把一個問題分解成不同步驟,用數學和邏輯發展出解決方法,接著測試和調整來解決這個問題。程式設計的學習能吸引各年齡層的學生並幫助他們瞭解數學、科學、語言等領域。
為什麼要學Python?
世界上有數百種程式語言,各有不同的特殊目的,也有各自的優缺點。Python是在1980年代由吉多‧范羅蘇姆(Guido van Rossum)發明,以英國電視喜劇《蒙提‧派森的飛行馬戲團》(Monty Python’s Flying Circus)命名,和蛇完全沒有關係!
Python被用來在網際網路上建立應用程式、用於科學研究,也用來製作遊戲、藝術作品、電影等等。用Python寫出來的著名應用程式包括YouTube、Google、Instagram和Spotify。Python廣受歡迎的理由有很多,包括:
1 好學又好用。
2 簡單又強大。完成一項工作只要幾行程式碼。
3 免費且開源:這代表它有廣大的使用者和開發人員社群,共同將它推廣到各種應用。
4 在任何地方都能運作,包含Windows、Mac、Linux和Raspberry Pi。
安裝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 "
Print('hello, world')
NameError: name 'Print' is not defined
>>>
我們會在Python殼層看到以IDLE所設的顏色(例如紅色)顯示的錯誤訊息。如你所見,在print指令少放下引號或使用大寫P是起不了作用的。
電腦很挑剔!在程式碼裡即使是小錯誤也會產生稱為「語法錯誤」(syntax error)的錯誤。這代表語言沒有確實依照定義來使用;這種錯誤和語言的語法有關。
語法錯誤通常容易修正,尤其因為錯誤旁邊會有彩色行或錯誤訊息會解釋電腦哪邊看不懂。所有語法錯誤都修正後,電腦程式仍然可能不會如預期來運作。這種錯誤稱為「執行階段錯誤」(runtime error)。這是來自程式碼使用方式或解決問題方法的錯誤。這種錯誤就是程式碼中的「bug」。有些bug容易修正,但有些要花很多時間。找出和修正這些bug的過程稱為「除錯」(debug),是學習程式設計很關鍵的一部分。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。