第一個 Python 程式
前言 & 概述
本篇為 Python 程式語言入門教學的第 4 篇文章!在前一篇文章中,我們學習了 Python 中「變數」的觀念,以及基本的「資料類型」。這兩者都是許多程式語言共同擁有的元素,如果你還不了解,可以先閱讀前一篇文章。
第一個 Python 程式的功能
在第一個完整的 Python 程式中,我們的目標在於實現程式的「互動性」。我們希望程式可以和使用者「互動」;也就是說,我們程式可以接受使用者的輸入,經過一些運算後,輸出一些資訊給使用者。
更具體來說,我們希望使用者透過「鍵盤」輸入一些文字或是數字,程式取得使用者的輸入後,進行一些運算與處理,將最後的結果輸出到「螢幕」上。
電腦的輸入與輸出裝置
你也許會覺得奇怪,為什麼需要特別強調「鍵盤輸入」與「螢幕輸出」呢?!原因在於我們的電腦所連接的輸入裝置不只有「鍵盤」,輸出裝置當然也不只有「螢幕」!
如上圖所示,電腦的輸入裝置還包含:「滑鼠」、「鍵盤」、「攝影機」;輸出裝置包含:「印表機」、「螢幕」與「喇叭」。我們可以在程式中自由的決定要處理哪一個輸入裝置的資訊,並將結果輸出到哪一個輸出裝置。
程式碼撰寫
了解電腦的輸入與輸出裝置後,我們可以開始來撰寫程式碼囉!首先,開啟 Colab,將下圖的程式碼一字不漏地打在 Colab 上並且執行!
之所以使用圖片的原因,是因為不讓你複製呀!第一次學習程式,一定要盡可能都是自己一個一個打的,這樣才會進步的快!
執行上面的程式碼時,會有兩次「輸入」的機會,執行完後應該會類似程式碼下方 (黑色字體) 的結果。
了解程式碼
別擔心自己不懂上面的程式碼,我們接下來將會逐行解釋,若有任何問題也歡迎在 YT 與 IG 中留言詢問!
- 第 1 行:以「#」開頭的在 Python 中都會被當作「註解」。Python 程式在執行時會忽略註解。透過註解解釋程式碼的意義,日後回頭看這份程式碼時就會更容易讀懂。
- 第 2 行:透過 print( ) 函式將字串顯示在螢幕上。針對「函式」的概念,我們會在之後的文章介紹到。在這裏,我們只需要先了解呼叫 (使用) print( ) 函式時,必須將想要顯示在螢幕上的字串傳入 print( ) 函式中。例如,我們將字串 ‘Hello World !’ 放在 print( ) 函式的括號中。執行後,螢幕就會顯示「Hello World !」。傳入函式的東西,我們又稱為「參數」。
- 第 3-4 行:與第 2 行一樣,都是透過 print( ) 函式,將字串顯示在螢幕上。特別的是,在第 3 行的 print( ) 的參數,使用了字串乘法 (String Replication) 的技巧。
- 第 5 行:透過 input( ) 函式接收使用者輸入的資料。在 Colab 上執行 input( ) 函式時,Colab 會出現一個框框,等待使用者輸入文字。當使用者按下 Enter 後,就會當作完成輸入,並將使用者輸入的文字打包成「一個字串」存到變數 (myName) 當中。
- 第 6 行:一樣透過 print( ) 函式將字串顯示在螢幕上。特別的是,這一次我們透過字串加法 (String Concatnation) 準備print( ) 函式的參數。這邊要特別注意,不管是字串乘法或是字串加法,我們傳入 print( ) 函式的參數,始終都只有「一個字串」。
- 第 7 行:透過 len( ) 函式計算字串的長度。當我們將字串傳入 len( ) 函式時,len( ) 會回傳這個字串的長度。因為 len( ) 函式回傳的東西為整數型別 (int type),無法進行字串加法,因此我們透過 str( ) 函式將整數型別再轉為字串型別 (str type)。
- 第 8-11 行:都是前面已經出現過的觀念,我們就不再贅述!
我們再更深入的說明第 7 行的觀念。我們可以看看下圖的程式碼:
len( ) 函式會回傳我們傳入的字串的長度。len( ) 所回傳的字串長度為整數型別 (int)。在程式中,我們因為需要進字串加法,所以將整數型別 (int) 的 3 轉為字串型別 (str) 的 ‘3’。
型別轉換
型別轉換在程式中相當常見,因為不同的型別有不同的特色。例如,字串型別 (str) 可以進行字串的加法 (Concatenation) 與乘法 (Replication)。整數型別 (int) 與浮點數型別 (float) 都可以進行數值運算。
如下圖所示:
透過 str( ) 將整數 3 轉為 字串 ‘3’;透過 int( ) 將字串 ‘3’ 轉為整數 3;透過 float( ) 將字串 ‘3’ 轉為浮點數 3.0。
結語
本篇文章中,我們撰寫了第一個具有互動性的 Python 程式,在程式中我們使用了前一篇文章提過的許多觀念,也介紹了新的觀念 —— 函式,將會在之後的文章深入介紹。下一篇文章,我們將學習 Python 程式中的流程控制 —— IF 與 ELSE 的觀念。
👣 👣 👣 我喜歡撰寫程式開發、資料科學領域相關的文章,希望可以透過簡單的文字解釋複雜的觀念!如果你也有興趣可以到我的其他平台逛逛哦!
👉🏻 DataSci Ocean
👉🏻 YouTube
👉🏻 Instagram
系列文章
01 - Google Colaboratory 介紹
02 - Python 中的加減乘除
03 - Python 中的變數與資料類型
延伸閱讀
👉🏻 Google Colaboratory 介紹
👉🏻 條件機率 vs 聯合機率
👉🏻 將 Django App 部署到 Heroku on Mac
👉🏻 在 LINE Developers 上建立 LINE Bot