mirror of
https://github.com/alankrantas/microbit-micropython-cookbook.git
synced 2026-01-08 13:23:21 +01:00
Update learn-python-on-microbit-zh.md
This commit is contained in:
@@ -24,6 +24,14 @@ Python 理論上是多用途的系統語言,但它在企業系統的用處正
|
||||
|
||||
那麼,孩子多小可以學 Python 呢?這大概得看個人資質,不過國高中以下恐怕都不是好主意。一來學寫程式仰賴英文閱讀及打字能力,二來它需要抽象思考。坊間有很多兒童教育單位會用遊戲式方式教導運算思維等等,但那和真正寫程式是有差距的。我自己也是直到兩年前才開始學 Python,所以只要年紀夠大,什麼時候開始並不會有差別。
|
||||
|
||||
## MicroPython
|
||||
|
||||
當然,正規的 Python 沒有辦法在記憶體很小的微控制器上執行。micro:bit 使用的 Python,其實是 Python 的一種特殊版本,叫做 MicroPython。
|
||||
|
||||
MicroPython 的功能自然沒有一般 Python 多,而且含有和開發板有關的控制功能。不過,絕大部分的核心 Python 功能是一樣的。
|
||||
|
||||
更精確來說,目前的 MicroPython(包含各種衍生版本)都是以 2014 年的 Python 3.4 為基礎發展的,因此少數比較新的功能就沒辦法使用。還好那些功能大多都是比較進階的玩意。
|
||||
|
||||
## 事前準備
|
||||
|
||||
你需要一片 [BBC micro:bit](https://microbit.org/zh-tw/new-microbit/),本指南會使用 2020 年 10 月後上市的第二版(V2),不過筆者會確保大部分的程式仍能與一代相容。既然二代擁有更大的記憶體、更快的處理器和更多功能,價格也與一代無異,使用二代自然是更合理的選擇。
|
||||
@@ -97,13 +105,11 @@ Type "help()" for more information.
|
||||
>>>
|
||||
```
|
||||
|
||||
是 Python 直譯器的 **REPL**(Read-Eval-Print Loop,讀取-求值-輸出循環)提示,這模式又稱為互動模式。要解釋這個東西,我們得先從 Python 的運作特性說起。
|
||||
是 Python 直譯器的 **REPL**(Read-Eval-Print Loop,讀取-求值-輸出循環)提示,這模式又稱為互動模式。一般兒童程式教學不會從這裡講起,但對所有 Python 學習者來說,這是你不能不認識的東西。
|
||||
|
||||
目前所謂的程式語言,其實是經過設計好讓人類撰寫的一系列語法,那不是電腦能直接解讀的格式。傳統上像 C++ 之類的語言,必須在寫完程式後編譯(compile)它,把程式轉成二進位的機器碼(machine code)。如果編譯過程中發現程式有問題,編譯就會失敗,並試著告訴你哪幾行程式有問題。這類語言也稱為編譯式語言。
|
||||
|
||||
但也有一些語言,包括 Python 在內,是直譯式語言,也就是不事先編譯,而是現場一行行程式去執行,遇到問題時才停下來。(當然實際上沒有這麼簡單,不過我們可以先這樣認定就好。)直譯式語言的優勢是不必等待編譯就能馬上執行,這對於撰寫一些簡單的程式和做測試非常方便。
|
||||
|
||||
|
||||
但也有一些語言,包括 Python 在內,是直譯式語言,也就是不事先編譯,而是現場一行行程式去執行,遇到問題時才停下來。(當然實際上沒有這麼簡單,不過我們可以先這樣認定就好。)直譯式語言的優勢是不必等待編譯就能馬上執行,這對於撰寫一些簡單的程式和做測試非常方便。而 REPL 是個像終端機一樣的介面,它能讓我們執行一些程式、檢查程式使用的資料、探索系統中有哪些功能等等。學著怎麼在開發 Python 程式的過程善用 REPL 是個不可不輕視的重要技能。
|
||||
|
||||
|
||||
(持續寫作中...)
|
||||
|
||||
Reference in New Issue
Block a user