廣東省深圳市羅湖區教育科學研究院 宗 艷
Python 由荷蘭數學和計算機科學研究學會的吉多·范羅蘇姆于1990 年初設計。吉多最初的設計理念是想設計出一款既簡單又功能強大的語言,還能簡單有效地面向對象編程。事實證明,Python 確實如此。Python 是解釋型語言,兼容性好,能在多個平臺使用,而且簡單易學。近年來,隨著版本的不斷更新和語言新功能的添加,Python 逐漸被用于獨立的、大型項目的開發。
從權威的Tiobe2022 年發布的最新編程排行榜可以看到,Python 在2021 年、2022 年連續兩年名列編程排行榜第一名,位列其后的是C、Java、C++等。Python 已是目前最熱門的編程語言。
Python 現在如此受歡迎,但是過去多年卻并非如此。通過7 種受歡迎的編程語言近25 年的排行數據統計,我們可以看到各大編程語言的起伏路徑。編程語言歷年排行統計如圖1 所示。

圖1
從圖1 可以看到,在1997 年時Python 排名是第28位。那么,25 年時間躍升至排行榜第一位,原因是什么?為何會有如此大的反差呢?
通過對Python 的學習和使用,我們可以概括出兩個原因。其一,Python 為追求簡單易用,隱藏了機器實現的細節,這使Python 對電腦配置有很高的要求,這與當時的主流觀點相違背。在資源有限的情況下,當時的程序員更加關注計算機資源利用的最大化,而不是語言是否易入門、易閱讀,因此最初 Python 只是一種小眾編程語言。其二,當今AI 技術及其應用備受關注,迎來一波熱潮,Python 的模塊化使得AI 的開發變得容易。2011 年后人工智能進入蓬勃發展期,先進的機器學習技術逐漸成熟并應用于社會生活,Python 在人工智能領域大展拳腳。2021 年SlashData 發布的調查顯示,有70% 的機器學習開發者會使用Python。在人工智能領域,開發者更需要集中精力在程序邏輯而不是語言實現,Python 的簡單哲學、豐富的三方庫和框架、不依賴平臺的特性及龐大的社區人群構建了一個最適宜的高效開發環境,Python得以廣泛應用。另外,創客文化的盛行也為Python 的流行推波助瀾。
軟件需要靠硬件來實現其功能。隨著Python 的日漸普及,除了面向電腦的Python 語言以外,針對單片機開發板的Micropython 語言版本也被開發出來。Micropython 與Python 的語法基本一致,而對應這兩種語言的開發板也相繼出現。
目前支持Micropython 的開發板主要有以下幾種:
1.Pyboard
Pyboard 由官方開發,是支持完整 MicroPython 軟件功能的官方微控制器開發板。它通過USB 連接到電腦,內置一個USB 閃存來保存 Python 程序,接通電源即可運行。Pyboard 與 Windows、Mac 和 Linux 兼容,但國內比較少見,使用的人較少。
2.Tpyboard
Tpyboard 是國內開發的一款支持Micropython 的開發板,以遵照MIT 許可為基礎。它基于單片機,通過USB 接口進行數據傳輸。該開發板內置4 個LED 燈、一個加速傳感器,可在3V~10V 之間的電壓正常工作,有豐富的支持文檔和開發環境,應用比較廣泛。
3.掌控板
這是另一款國內開發的支持Micropython 的開發板,板上集成了Wi-Fi 模塊、顯示器、環境光感應器、音量感應器、喇叭等,不需外接多個器件就可以完成許多實驗。掌控板在物聯網應用上比較有優勢。
直接支持Python 的開發板主要有:
1.樹莓派
樹莓派(Raspberry Pi), 是為學習計算機編程教育而設計。樹莓派是只有信用卡大小的微型電腦,其系統基于Linux。樹莓派接口豐富,特別適合用來開發與人工智能相關的產品。
2.Jetson Nano
Jetson Nano 是英偉達公司研制的一款性能強大、體積小巧的智能芯片,其配備了四核處理芯片,能夠運行多種算法和AI 框架,支持多個神經網絡并行實現圖像分類、人臉識別、語音處理、目標檢測及物體識別追蹤等,適用于開發小結構、低成本、低能耗的設備。
Python 語言目前在我國中小學人工智能教育中的運用已呈燎原之勢。
“基于Jetson Nano 的智能結算系統”由深圳市一所中學的學生設計制作完成,作品基于Python 語言,是一款可用于食堂、超市等大型人流場所的智能結算設備。該項目在2019 年獲得廣東省青少年科技創新大賽二等獎,是一項非常優秀的科技創新成果。
該項目在參加省賽之前需要經過深圳市青少年科技創新大賽的選拔。參加市賽時作品用的是Arduino C 語言。在市賽階段,作者就發現機器視覺識別率低,識別速度太慢且容易出錯,導致結算效率低;所用硬件因為受到算力的限制,分辨率也低。因此在確定被推薦將參加省賽時,作者對硬件和軟件都進行了升級——硬件平臺更換成Jetson Nano ,軟件更換成Python。這樣,Python的優越性就充分展示出來了:
(1)使用Python 加Jetson Nano 的組合后,運用了YOLOv4 的算法,支持的硬件更強大,識別率由原來的75%提升到95%左右,而且識別速度得到提高,分辨的效率提高了3 倍。
(2)算力提升以后,系統的訓練時間大幅度縮減。以前訓練認識一個物體可能要1 分鐘,新設備大概只要20 秒,極大地節約了時間成本。
(3)Python 支持更高分辨率的攝像頭。原先的Arduino 只支持320×240 分辨率的設備,現在可以支持1280×960 的設備,這樣可采集的信息更多,對物品識別的正確率也得到提高。
使用 Python 完成項目功能后,項目的識別率、結算速度得到極大的提升,能夠順利、高效地完成智能結算工作。作品在參加省賽的現場展示中,表現優異。
經過多次的項目方案分析及試驗,“基于Jetson Nano 的智能結算系統”項目最終確定由放置物品、對比數據庫、結算物品價格、識別人臉、對比數據庫、扣費并播報、完成結算七個技術流程實現智能結算功能。其中,在放置物品、識別人臉兩個程序判斷中,如果得到否定的指令(no),工作流程將轉到深度學習、錄入數據庫階段,然后再轉為下一流程。“基于Jetson Nano 的智能結算系統”工作流程圖如圖2 所示。

圖2
1.項目的應用
作為人口大國的中國,在超市、食堂排長隊結算的現象十分常見。排長隊等候消耗了購買者以及工作人員的大量時間,其中消耗時間最多的就是結算環節。因此,迫切需要一個有效的設備改進結算慢的問題。作者在日常生活中通過汽車使用ETC 通道的案例得到靈感:ETC 通道相比普通人工收費通道結算速度更快、通行效率更高。因此,學生產生了通過智能結算方式改善超市、食堂等結算慢這一情況的想法。
“基于Jetson Nano 的智能結算系統”項目運用了多項先進技術,例如計算機圖像識別、人臉識別、物聯網通信技術。硬件使用了Arduino 和Jetson Nano,傳送帶部分使用了光電傳感器,控制傳送帶的運送與停止,同時避免過多用電。
“基于Jetson Nano 的智能結算系統”適合應用于超市、食堂等人流量較大的商戶結算。機器在工作之前先對商品外觀形態進行深度學習,在工作時對傳送帶上需要結算的流動商品逐一進行識別、計價,并且進行語音播報,最后通過人臉識別(或者其他付款方式)進行結算。
2.項目的優勢
“基于Jetson Nano 的智能結算系統”對比現有的各類結算方式,具有明顯的優勢。
與傳統的人工結算相比,“基于Jetson Nano 的智能結算系統”的優點有:
(1)結算速度快,不需要等待人工計算結果;
(2)結算結果準確,不會出現錯誤,極大地保障了購買者和商家的利益;
(3)支付方式多樣,支持人臉識別。
與現在已有的智能結算設備相比,“基于Jetson Nano 的智能結算系統”的優點:不需要尋找條形碼,由系統通過計算機圖像識別技術識別商品,方便視力不佳人士。
3.項目的展望
對于“基于Jetson Nano 的智能結算系統”,作者未來將繼續開展研究,提高機器的識別準確率,持續完善設備,不斷優化,迭代升級。
“基于Jetson Nano 的智能結算系統”目前已經申請了專利,作者和輔導老師希望在對項目進一步改進完善后,能夠推向市場,以探索基礎教育階段的“創新創業”教育實質,真正實現雙創精神。
Python 語言與人工智能(AI)緊密聯系。AI 技術已經滲透到生活的方方面面,從智能手機的語音助手到網上購物時的商品推薦,無一不用到人工智能技術。而Python 也已經逐步在網絡爬蟲、數據分析、機器學習、金融、測試等多個領域扎根壯大。
新課標全面貫徹黨的教育方針,落實立德樹人的教育根本任務,注重素質教育。信息科技新課標明確了需要培養的核心素養包括信息意識、計算思維、數字化學習與創新、信息社會責任四個方面,期望通過信息科技課程學習讓學生形成正確的價值觀、必備品格及關鍵能力。
(1)Python 學習能夠培養學生的信息意識。學生通過Python 學習,能具有一定的信息感知力,熟悉信息傳遞的內在邏輯;能根據目標導向找尋有效的數字平臺與資源解決問題,并崇尚科學精神、原創精神。同時,能培養學生掌握核心技術的意識,以及依法合理應用信息的意識。
(2)Python 學習有助于學生計算思維的養成。在學習Python 的過程中,學生能夠熟悉計算機科學領域的抽象、分解、算法設計等思維活動,在面對具體問題時,可以進行抽象、分解、建模并通過算法解決問題,同時培養反思、優化能力。
(3)Python 學習提升學生數字化學習與創新能力。學生通過Python 學習學會選用合適的數字設備、平臺及資源,學會探究性學習;養成利用信息科技進行學習與生活的習慣,能夠創造性地解決問題。
(4)Python 學習能增強學生信息社會責任感。通過Python 學習,學生能理解信息科技給學習、生活帶來的各種影響,學會負責任地共享信息和資源;領悟網絡空間是人類活動空間的有機組成部分,網絡空間活動必須遵守一定的秩序,繼而形成良好的信息道德品質,增強信息社會責任感。
新課標背景下Python 的學習活動以素養提升為目標,以真實情境為基礎,實現心智學習和實踐的協同發展。為了體現新課標要求,項目式學習是Python 學習活動的最適切形式。項目式學習是一種任務驅動的特定教學模式,它注重的不僅僅是項目的最終結果,也包括學生通過學習活動獲取知識及技能的方法。
新課標背景下Python 項目式學習模式構建包括以下幾個方面:
1. Python 課程目標構建
在Python 項目式學習模式構建中,首先就是要對課程目標進行構建。明確了課程目標的要求,才能在教育工作中科學地實施對策,將新課程標準落實。
2. Python 課程體系構建
在Python 項目式學習模式構建中,為了保證教學目標的順利實現,應該進行有效的課程體系構建。及時有效地構建Python 項目式學習課程體系,才能保障教育工作朝著預期目標發展。
3. Python 課程評價體系構建
在Python 項目式學習模式構建中,應對課程評價體系進行科學有效的構建,使教學評價可以根據教學目標要求及時進行教學反饋,切實地為教育工作服務。