MicroPython 和 Python 都是一類 Python 的動態語言解釋器。
若是在系統里安裝了 Python 解釋器,例如在 Windows 或者 Linux 命令行輸入 python,進入 python 解釋器的命令行模式即可輸入運行查看效果。
>>> print('Hello World!')
Hello World!
動態語言通常指不需要編譯即時運行的程序語言,如:Python、Lua、JavaScript、Shell,而靜態語言則是需要編譯后才能運行,常見于 C 、C++、Cs、JAVA 等。
python有什么用、解釋器和編譯器的不同表現的描述為:
解釋器可以實時讀取代碼進行即時編譯運行程序指令(常見于 .bat)
而編譯器需要編譯過后得到的可直接運行的軟件再點擊運行程序指令(常見于 .exe)
從這個角度來說,解釋器也就是編譯器編譯出來的一種通用型動態代碼執行環境的軟件。
MicroPython 和 CPython 的區別
大多數時候,Python 的發展以 CPython 為主,以下列出一些與 CPython 的差異化信息。
python3.7?MicroPython 和 CPython 在 Python3 語法上保持高度的一致性,常用的標準語法命令都已經支持。
MicroPython 雖然只實現了 CPython 的標準庫和容器庫的一些部分,常見容器庫有同類功能,但不同名的模塊,但大多算法類的 Python 邏輯代碼是可以拿來即用的。
MicroPython 兼容實現的 CPython 的異常機制、沒有實現元類(metaclass)機制,獨立的 GC 機制。
在許當不同的硬件微芯片(最低在 nRF51)的移植上, MicroPython 代碼接口缺乏一致性,呈現碎片化。
MicroPython 編譯(mpy-corss)后得到的是 mpy ,而不是 CPython 的 pyc 文件。
MicroPython 在移植 CPython 代碼時,經常缺少各種方法,所以要習慣尋找同類接口,而它們的使用方法除了看文檔外就只能看源碼。
python3?MicroPython 作者是 dpgeorge ,要記住大佬。
MicroPython 帶來了什么?
從開發者角度來講,MicroPython 和 CPython 以及 PyPy 一樣,都是 Python 代碼的執行環境。
對于使用者(�)來說,調用通用的 Python 的邏輯代碼,手握最大的源碼寶庫,并且在 Python 的世界里,一切都是開源的,但是 Python 調用外部的依賴庫(dll、so、exe)等并不開源,只有執行的 Python 流程和方法,是你可以任意學習、理解、修改的源碼。
動態語言中,最大的效果就是快速的適應程序的業務邏輯變化,減少大型程序的重復編譯,通過接口供 Python 調用就是最大的特點,俗稱的膠水語言因此而來,許多穩定的程序,可以提供外部接口交給 Python 反復調用確認效果,這就導致了動態語言最終多數用于測試環境和熱更新程序領域。
一次編譯,多次運行,是 Python 最大的好處,各舉一個硬件和軟件的例子。
micropython官網、在使用 HTTP 對接后端的時候,調試 API 接口,獲取服務器的返回內容,通過 Python 可以做到隨時變更 API 的參數重新發起請求,整個過程沒有編譯過程,只是更換參數執行函數,依次反復確認業務邏輯代碼是否符合預期,類似自動化測試。
在控制硬件輸出 PWM 的時候,例如調試音頻設備或蜂鳴器,我們會需要經常變化參數來確認輸出的波形或占空比,這時候,更換參數即可執行的 Python 就起到了快速開發的效果,對于一些需要大量調試和測試的開發。
以上例子都體現出一種效果,就是有許多需要大量測試才能確定的代碼,使用 Python 進行開發會比 C 開發更具效率。
總結下來:
Python 擁有大量開放的源碼,可以快速參考和查閱確認開發以及實施的時間和可能性。
Python 的業務邏輯開發效率優越,動態語言共同的特性,但隨之犧牲的是性能。
micropython和arduino,在一些要求不是特別高的家用、民用、日常的場合,Python 會是你最好的幫手,就像過去的編程計算器一樣,可以反復幫助你確認復雜計算式的正確性。
Python 語言開發特性
首先 Python 開發十分的快速,可以適應多種場合下的程序修改,實時熱更新配置代碼。
它擁有語法簡潔、兼容大多數語言的特性、各種動態類型、自帶大數庫、大量開源示例代碼、完整的 import 機制等等特性,這決定了它在不看重性能的場合里,用途特別明顯,尤其是數據處理、算法驗證、機器學習、編程學習、業務變更、升級程序等開發場合。
但是動態語言在關鍵操作上性能低下,所以通常我們會將關鍵部分邏輯遷移到 C 語言或更底層用于提速,再暴露給 Python 調用。
MicroPython 也和 Python 一樣。
micropython ota,結語
想用一篇介紹我所知道的 Python 和 MicroPython ,但發現還是有些不足,如果有好的建議,歡迎留言。
撰寫時間:2019年9月1日
作者名稱:junhuanchen
聯系方式:
WeChat & Github: 作者名稱
micropython gui、QQ & E-mail: 作者名稱@qq.com
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态