Files
microbit-micropython-cookbook/guide/learn-python-on-microbit-zh.md
2021-02-06 10:15:12 +08:00

3.3 KiB
Raw Blame History

在 BBC micro:bit 上學 Python

Alan Wang, Feb 2021

本指南採用 GNU 3.0 通用公共授權

關於本指南

網路上的 micro:bit 教材眾多,但主要是以兒童教學為設計目的,因此大多著重在 micro:bit 自身的功能,較少解釋程式語言本身。而 Python 語言儘管看似易學,一開始也確實能學得很快,許多教材(包括書籍)卻很少能正確交代關鍵的概念。

本指南是寫給成人或青少年,包括有意學習 Python 並投入教學的教師,而不是寫給兒童閱讀。在此筆者會嘗試將傳統的 Python 教學與 micro:bit 融合,並在盡量只使用 micro:bit 本身的前提下帶過 Python 至少入門到中階的語言功能。等到各位對 Python 的運作有足夠了解後,就可以用自己的方式教導兒童了。

目前 micro:bit 的 MakeCode 圖形編輯器(使用 TypeScript/JavaScript 語言也「支援」Python但這個 Python 版本只是單純從 JavaScript 轉換過來而已,它並不支援 Python 語言的一些特色。因此筆者並不鼓勵將該編輯器的 Python 當成學習目標。

為何要學 Python

最簡單的答案是:因為大家都在學,包括非理工背景的人士。學 Python 的人是如此之多,它在職場已經逐漸被視為如英語或數學一樣的重要技能。且既然 Python (一開始)相對容易學,它也成為新一代資訊教育經常用來教學生的語言。

Python 理論上是多用途的系統語言,但它在企業系統的用處正在慢慢被像是 Go、Rust 之類的語言取代。目前學 Python 的最主要回報,是有機會成為資料科學家/資料分析師/機器學習專家:這類工作在 2010 年代前期到中期的需求與薪資達到了驚人的高峰。這歸功於針對 Python 設計的大量第三方套件,讓任何人都能進行資料分析以及資料視覺化,甚至跨進人工智慧領域。簡單地說,不管你(誤)讀什麼科系,學 Python 都是個讓自己非常難餓死的好辦法。

不過,筆者認為 Python 的另一個選擇是「嵌入式 Python」──在 micro:bit 這樣的微控制器/開發板上用 Python 控制它。由於其設計特性Python 執行起來比 Arduino 的 C++ 語言慢上不少,但寫起來卻容易很多。此外,既然開發板得和人類互動,你往往還得給程式「降速」,所以大多時候運作效能其實並不重要。比起純粹處理資料的純電腦程式,嵌入式 Python 賦予了我們跟真實世界互動、解決生活問題的機會,而且對於撰寫程式上也能訓練出更靈活的思維。

準備

你需要一片 BBC micro:bit,本指南會使用 2020 年 10 月後上市的第二版V2不過筆者會確保大部分的程式仍能與一代相容。既然二代擁有更大的記憶體、更快的處理器和更多功能價格也與一代無異使用二代自然是更合理的選擇。

你也需要一條 micro USB 線,以及一台可上網的電腦。之後我們也許會討論到更多外部硬體器材的控制,但這會是講完 Python 語言主要部分之後的事了。

(持續寫作中...