Python 發展至今已具備相當成熟的生態系,版本選擇上建議優先使用 Python 3,除非遇到特殊套件相容性問題才考慮 Python 2。Mu 編輯器是 Raspberry Pi 系統上的友善 Python 開發工具,適合初學者快速上手。執行 Python 程式碼時,可透過終端機輸入 python3
或 python
指令搭配檔案名稱執行,並注意程式碼所需的執行許可權。Python 使用縮排來定義程式碼區塊結構,不同於其他使用大括號的語言。變數指定使用等號,無需事先宣告型別,命名需遵循字母、底線與數字的組合,且不得以數字開頭。使用 print()
函式可以顯示變數值或字串,應注意 Python 版本間語法差異。
選擇 Python 2 或 Python 3
問題 您需要使用 Python,但不知道該使用哪個版本。
解決方案 兩者都使用。盡可能使用 Python 3,直到您遇到一個最好由 Python 2 解決的問題。
討論 雖然 Python 最新的版本 Python 3 已經存在多年,但您會發現很多人仍然在使用 Python 2。事實上,在 Raspbian 分佈中,兩個版本都被提供,版本 2 只被稱為 Python,而版本 3 被稱為 Python 3。並且 Python 3 由玄貓執行。本文中的範例都是為 Python 3 撰寫的,除非另有說明。大多數範例可以在 Python 2 和 Python 3 下無需修改即可執行。
Python 社群不願放棄舊版本的原因主要是因為 Python 3 引入了一些改變,破壞了與版本 2 的相容性。因此,為 Python 2 開發的一些第三方函式庫在 Python 3 下無法執行。
我的策略是盡可能使用 Python 3,只有當遇到相容性問題時才使用 Python 2。
另見 關於 Python 2 與 Python 3 的爭論的好總結,可以參考 Python wiki。
使用 Mu 編輯器編輯 Python 程式
問題 您已經聽說過 Mu 編輯器,想要使用它來編寫 Python 程式。
解決方案 Mu 編輯器預先安裝在最新版本的 Raspbian 中。您可以在主選單的「程式設計」部分找到它(圖 5-1)。
圖 5-1. 從主選單開啟 Mu 當您第一次啟動 Mu 時,您會被提示選擇模式(圖 5-2)。
圖 5-2. 選擇 Mu 的模式 選擇 Python 3 模式並點選「確定」。這將開啟 Mu 編輯器,您可以開始編寫 Python 程式。
讓我們試試看。小心地在編輯器區域下面的「在這裡寫入您的程式碼 :-)」註解中輸入以下測試程式:
for i in range(1, 10):
print(i)
這個簡短的程式將會計算到 9。目前不要擔心它的工作原理;所有細節將在 Recipe 5.21 中解釋。注意當您到達第一行的末尾並按下 Enter 鍵時,第二行的 print 陳述式應該會自動縮排(圖 5-3)。
圖 5-3. 在 Mu 中編輯程式碼
在我們可以執行程式之前,我們需要將其儲存到一個檔案中。因此,在 Mu 視窗的頂部,點選「儲存」按鈕,然後輸入檔案名稱 count.py
(圖 5-4)。
圖 5-4. 在 Mu 中儲存檔案
現在檔案已經儲存,我們可以執行程式了。點選「執行」按鈕,這將導致 Mu 編輯器螢幕分割,底半部分顯示執行程式的結果(圖 5-5)。
圖 5-5. 執行程式 count.py
如果您已經按照 Recipe 3.22 下載了本文的附件檔案,您可以直接在 Mu 中開啟它們,方法是使用「開啟」功能。
使用Mu編輯器和Python控制檯
Mu編輯器是一種適用於Raspberry Pi的編輯器,支援Python 3。要存取這本文的Python程式碼,請在Mu中按下「檔案」按鈕,然後導航到 /home/pi/raspberrypi_cookbook_ed3/python
目錄。
Python縮排
Python是一種獨特的語言,它使用縮排來定義程式碼的結構。與其他使用 {
和 }
來定義程式碼塊的語言不同,Python使用縮排來表示程式碼的層次。例如,在 for
迴圈中, print
陳述式必須縮排四個空格,以便Python能夠正確地解釋程式碼。
Mu編輯器模式
Mu編輯器支援多種模式,包括Python 3、Adafruit CircuitPython和BBC micro:bit。選擇Python 3模式可以編寫和執行Python程式。
Python控制檯
Python控制檯是一種命令列介面,允許您在不需要編寫完整程式的情況下執行Python命令。您可以在Mu編輯器或終端機中存取Python控制檯。在Mu編輯器中,按下「REPL」按鈕即可存取Python控制檯。
使用Python控制檯
要使用Python控制檯,請在Mu編輯器或終端機中輸入Python命令。控制檯會顯示 >>>
提示符,表示您可以輸入Python命令。如果需要輸入多行命令,控制檯會自動提供續行行,續行行以 ...
符號表示。您仍需要縮排續行行,以便Python能夠正確地解釋程式碼。
練習
- 在Mu編輯器中開啟Python控制檯。
- 輸入簡單的Python命令,例如
2 + 2
。 - 觀察控制檯的輸出。
- 嘗試輸入多行命令,例如
while
迴圈。 - 觀察控制檯的輸出和續行行的縮排。
執行Python程式
啟動Python程式
要從終端機執行Python程式,可以使用python
或python3
命令,後面接著程式檔案名稱。例如:
$ python3 myprogram.py
這個命令會啟動Python 3解譯器,並執行myprogram.py
檔案中的程式碼。
選擇Python版本
如果您想要使用Python 2執行程式,可以將python3
改為python
:
$ python myprogram.py
請注意,Python 2已經不再被官方支援,建議使用Python 3。
執行程式的許可權
大多數Python程式可以在普通使用者模式下執行,但有些程式可能需要超級使用者許可權。若需要以超級使用者身份執行程式,可以在命令前加上sudo
:
$ sudo python3 myprogram.py
這會提示您輸入密碼,以便以超級使用者身份執行程式。
執行Python程式的好處
從終端機執行Python程式可以提供更多的控制權和彈性,尤其是在需要與系統資源互動或需要特定許可權的情況下。同時,也可以使用各種工具和函式庫來擴充套件Python的功能。
內容解密:
上述命令的作用是啟動Python解譯器,並執行指設定檔案中的程式碼。檔案名稱後面的.py
副檔名錶示這是一個Python程式檔案。當您執行這個命令時,Python解譯器會讀取檔案中的程式碼,並按照語法規則執行。
圖表翻譯:
flowchart TD A[啟動終端機] --> B[輸入命令] B --> C[執行Python程式] C --> D[輸出結果]
這個流程圖描述了從啟動終端機到執行Python程式的過程。首先,啟動終端機;然後,輸入命令;接下來,執行Python程式;最後,輸出結果。
變數與指定
在 Python 中,為了方便存取和運算元據,我們需要給資料賦予名字,這個過程被稱為變數指定。變數是一個用來儲存資料的容器,透過給變數指定,可以讓我們方便地使用和操作這些資料。
變數指定的基本語法
Python 中的變數指定使用等號(=)進行,基本語法如下:
變數名 = 值
例如:
a = 123 # 將整數 123 指定給變數 a
b = 12.34 # 將浮點數 12.34 指定給變數 b
c = "Hello" # 將字串 "Hello" 指定給變數 c
d = 'Hello' # 將字串 "Hello" 指定給變數 d
注意,在 Python 中,字串可以使用雙引號(")或單引號(’)來定義。
變數的特點
Python 中的變數有一些重要特點:
- 動態型別:Python 是一種動態型別語言,這意味著你不需要在使用變數之前宣告其型別。變數的型別是由其指定的值決定。
- 指定:變數的值可以透過指定運算子(=)進行修改。
- 可重用:變數可以多次使用和重用。
變數命名規則
在 Python 中,變數名稱需要遵循一定的規則:
- 字母和底線:變數名稱只能包含字母(a-z、A-Z)、底線(_)和數字(0-9)。
- 不能以數字開頭:變數名稱不能以數字開頭。
- 區分大小寫:Python 是區分大小寫的,這意味著
a
和A
是兩個不同的變數。
內容解密:
上述程式碼示例展示瞭如何在 Python 中進行變數指定。透過使用等號(=),我們可以將不同的值賦給變數,並且可以多次使用和重用這些變數。這些變數可以儲存不同的型別的值,例如整數、浮點數和字串。
圖表翻譯:
flowchart TD A[變數指定] --> B[等號 (=)] B --> C[變數名稱] C --> D[值] D --> E[儲存] E --> F[使用]
這個流程圖展示了變數指定的過程,從等號(=)到變數名稱、值、儲存和使用。這個過程是 Python 中的一個基本概念,對於程式設計師來說非常重要。
變數與輸出
在 Python 中,變數是一個用來儲存資料的容器。變數可以是數字、字串或其他型別的資料。變數的名稱是用來存取變數值的標籤。
變數命名規則
根據玄貓的命名規則,變數名稱應該以小寫字母開頭,如果變數名稱由多個單片語成,則應該使用底線字元(_)連線。這樣可以使變數名稱更容易閱讀和理解。
字串常數
Python 中的字串常數可以使用單引號(’)或雙引號(")定義。例如:
my_string = 'Hello, World!'
my_string = "Hello, World!"
兩種方式都可以定義字串常數。
邏輯常數
Python 中的邏輯常數是 True 和 False,它們是區分大小寫的。
變數範例
以下是一些有效的變數名稱範例:
x
total
number_of_chars
這些變數名稱都遵循了玄貓的命名規則。
顯示輸出
如果你想要顯示變數的值,可以使用 print() 函式。例如:
x = 10
print(x)
這將輸出 10
。
注意事項
在 Python 2 中,print 可以不使用括號,但是這在 Python 3 中是不允許的。為了確保程式碼在兩個版本中都能夠正常執行,應該始終使用括號。
從使用者經驗視角來看,選擇 Python 版本及使用 Mu 編輯器對於初學者至關重要。分析 Python 2 與 3 的相容性問題,顯然 Python 3 更具前瞻性,但仍需考量舊有程式函式庫的支援度。Mu 編輯器簡化了程式碼編寫、儲存和執行流程,其自動縮排功能有效降低了初學者錯誤率,提升了開發體驗。然而,Mu 的功能相對基礎,對於大型專案的管理仍有不足。展望未來,Python 3 將持續主導開發領域,而更進階的 IDE 或編輯器將提供更強大的開發支援。對於初學者,建議優先熟悉 Mu 並逐步探索其他工具。玄貓認為,掌握 Python 3 與合適的開發工具是 Python 程式設計的根本。