日产精品视频无码免费_亚洲蜜臀AV日韩熟妇在线_国产亚洲精品女人久久久久久 _妞中文字幕在线视频导航

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 編程學習 >> Python >> 正文

Python和MicroPython之間的差異

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2023/11/7

MicroPython 編程最吸引人的方面之一是它與近二十年來在桌面環境中廣泛使用的 CPython 相似。由于幾乎相同的語法和設計范例,在嵌入式和桌面開發環境之間移動幾乎是無縫的體驗。這在物聯網時代是非?扇〉模谶@個時代,來自嵌入式電子產品的數據必須可以在眾多平臺上訪問,包括移動、桌面和云。如果工具和編程語言的變化最小化,開發人員可以保持精簡,產品開發周期可以縮短。也就是說,與桌面計算相比,嵌入式硬件環境的本質要求 MicroPython 和 CPython 之間存在一些并非微不足道的差異。

注:CPython 是用 C 語言實現的 Python 解釋器,也是官方的并且是最廣泛使用的 Python 解釋器。除了 CPython 以外,還有用 JAVA 實現的 Jython 和用.NET 實現的 IronPython,使 Python 方便地和 JAVA 程序、.NET 程序集成。另外還有一些實驗性的 Python 解釋器比如 PyPy。

CPython 是使用字節碼的解釋器,任何程序源代碼在執行之前先要編譯成字節碼。它還有和幾種其它語言(包括 C 語言)交互的外部函數接口。

CPython 

嵌入式電子生態系統在許多方面受到限制,而臺式機或服務器則沒有。首先,它們受到能源消耗的限制。許多嵌入式設備都是電池供電的,因此延長電池壽命在性能方面受到限制。臺式計算機可能以幾千兆赫茲的速度運行,而微控制器充其量只能以幾十兆赫茲的速度運行。受限內存和存儲也往往是顯著影響 CPython 和 MicroPython 之間差異的限制因素。由于內存僅以千字節或兆字節為單位,內存密集型功能通常會減少甚至完全從 MicroPython 實現中刪除。了解差異對于希望避免調試嵌入式代碼的許多令人沮喪的時間的開發人員來說非常重要。

CPython 開發人員可以訪問數百個預構建模塊,只需一行代碼即可將這些模塊輕松添加到他們的項目中。這些模塊消除了在尋求向項目添加功能時重新發明輪子的需要。但是,許多模塊在內存利用率方面可能非常大。MicroPython 要么消除模塊,要么提供專為嵌入式平臺設計的模塊的定制實現。還有嵌入式平臺獨有的模塊,例如與通用 I/O (GPIO) 引腳的接口。

CPython 使用自動引用計數作為其內存管理方式,而 MicroPython 使用垃圾收集。從實際的角度來看,當需要分配內存時,MicroPython 將嘗試在堆上找到足夠大小的內存塊。如果失敗,MicroPython 將尋求釋放內存中未使用或冗余的對象。這是一個通常以毫秒為單位的過程;蛘,開發人員可以偶爾gc.collect()以預定的時間間隔運行以清理內存,以確保垃圾收集不會在代碼的關鍵部分發生。

語法差異可能是讓大多數開發人員陷入困境的差異類型,特別是如果您有任何重要的 CPython 經驗,這可能會給您編程時帶來某種“肌肉記憶”。

MicroPython 要求文字數字和關鍵字之間有空格;相比之下,CPython 則不然。

MicroPython 允許使用 := 賦值給理解變量;CPython 引發語法錯誤。

使 Python 對編碼新手友好的設計特性之一是它處理數據類型(例如整數、布爾值、浮點數)的方式。在 Python 中,所有數據類型都是類,變量是類的實例。然而,MicroPython 并沒有實現整個 CPython 對象數據模型。值得注意的差異包括缺少多重繼承、__new__ 和 __del__特殊方法可能不起作用、方法解析順序不同以及不支持元類。

MicroPython 中未實現異常鏈接。因此,MicroPython 無法跨程序的不同抽象層重新拋出異常。

內置類型的處理方式不同。例如,MicroPython 不支持刪除數組。

在 Python 中,函數是對象并且具有一組定義的屬性,可以通過函數調用訪問這些屬性。例如,所有函數都有一個內置屬性__doc__,它返回函數源代碼中定義的文檔字符串。函數的用戶定義屬性在 CPython 中是可能的;但是,MicroPython 不支持它們。這樣做是因為嵌入式系統中通常會遇到內存限制。

覆蓋sys.stdin, sys.stdout, 和sys.stderr是不可能的。這些是解釋器用于標準輸入、輸出和錯誤的文件對象。這就是我們向用戶顯示文本并從用戶那里獲取輸入的方式。

未能加載的模塊仍被注冊為已加載。這是為了使模塊處理更有效率。因此,加載不包含異常處理。在部署到生產環境之前,一定要在開發環境中測試代碼!

該environ屬性未實現。相反,開發人員必須使用getenv()、putenv()和unsetenv() 方法來設置和獲取環境變量。請注意,該getenv() 方法只允許將一個參數傳遞給它。

該print()函數不會像 CPython 那樣檢查遞歸數據結構(例如,遞歸列表)。MicroPython 會檢查堆棧使用情況,因此打印遞歸數據結構不會因堆棧溢出而導致崩潰。

方法的錯誤消息可能會顯示意外的參數計數,因為 MicroPython 將“self”計為參數。確保在處理錯誤消息時牢記這一事實。

JSON(JavaScript 對象表示法)是一種流行的數據交換格式,許多物聯網終端設備使用它來與云高效通信。如果 JSON 對象不可序列化,MicroPython JSON 模塊不會拋出異常。

該struct 模塊在 Python 值和表示為 Python 字節對象的 C 結構之間進行轉換。這允許有效處理存儲在文件中或來自傳感器常用的網絡連接或串行協議的二進制數據。不幸的是,該struct.pack(format, v1, v2)函數不進行檢查以確保為其提供了正確數量的參數。這與 CPython 實現形成對比,后者確實檢查參數計數。

未實現在數組中搜索整數的功能。因此,以下代碼將導致錯誤:

import array as array
a = array.array('i', [1, 2, 3, 4])
print(1 in a)

 

CPython 會打印false,而 MicroPython 會返回未實現的錯誤消息。

MicroPython 是一種功能強大且易于使用的編程語言,用于開發嵌入式應用程序。但是,與用于創建桌面和云原生應用程序的功能更豐富的 Python 實現相比,它是有限的。一些差異可能會在未來的 MicroPython 版本中得到修復,或者隨著新功能被添加到 Python 的參考實現中,可能會出現新的差異。要查看 CPython 和 MicroPython 之間的最新差異,請務必在其網站上查看 MicroPython 的官方文檔。

Tags:Python,MicroPython  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊。 昵稱:注冊  登錄
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
国产视频一区二区在线观看| a级黄色毛片免费播放视频| 天天色色色| 亚洲天堂一区二区三区四区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产不卡在线看| 日韩中文字幕在线播放| 精品国产一区二区三区久 | 色综合久久天天综合| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 久久精品欧美一区二区| 欧美大片a一级毛片视频| 九九久久99| 日韩一级黄色| 日韩欧美一及在线播放| 深夜做爰性大片中文| 你懂的福利视频| 国产一区二区精品久久91| 青青青草影院 | 999精品在线| 国产精品免费久久| 韩国三级视频网站| a级毛片免费观看网站| 你懂的在线观看视频| 免费的黄视频| 久久精品大片| 韩国妈妈的朋友在线播放| 国产综合91天堂亚洲国产| 九九免费精品视频| 欧美激情中文字幕一区二区| 韩国三级视频网站| 青青青草影院 | 中文字幕一区二区三区 精品| 九九免费精品视频| 毛片成人永久免费视频| 高清一级毛片一本到免费观看| 97视频免费在线| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美一级视频免费观看| 中文字幕一区二区三区 精品| 欧美一级视频免费| 黄视频网站免费看| 在线观看导航| 韩国毛片免费大片| 欧美激情影院| 欧美一级视频免费观看| 精品国产三级a| 国产不卡在线看| 黄色福利片| 日韩在线观看视频黄| 99久久网站| 久久精品免视看国产成人2021| 九九久久国产精品大片| 亚洲精品中文一区不卡| 国产亚洲精品成人a在线| 在线观看成人网 | 九九免费精品视频| 一本伊大人香蕉高清在线观看| 国产成人啪精品视频免费软件| 国产伦久视频免费观看 视频| 一a一级片| 色综合久久天天综线观看| 午夜在线观看视频免费 成人| 精品视频免费在线| 九九精品久久| 国产伦久视频免费观看视频| 亚久久伊人精品青青草原2020| 久久国产一久久高清| 午夜在线观看视频免费 成人| 欧美一级视| 中文字幕一区二区三区精彩视频| 亚洲精品久久玖玖玖玖| 欧美激情一区二区三区视频 | 久久精品免视看国产明星| 亚洲精品久久玖玖玖玖| 成人a级高清视频在线观看| 亚州视频一区二区| 国产麻豆精品hdvideoss| 亚洲天堂免费观看| 一本伊大人香蕉高清在线观看| 四虎精品在线观看| 精品视频一区二区三区| 麻豆系列国产剧在线观看| 日本免费区| 日韩中文字幕一区二区不卡| 国产一区二区福利久久| 国产91精品系列在线观看| 黄视频网站在线看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 久久99中文字幕| 一级毛片看真人在线视频| 99久久精品国产高清一区二区 | 精品国产一区二区三区久久久狼| 日日日夜夜操| 国产不卡高清在线观看视频| 精品国产一区二区三区久 | 精品国产亚一区二区三区| 欧美一级视| 久久精品店| 欧美另类videosbestsex久久| 99久久精品国产高清一区二区 | 999久久狠狠免费精品| 日本乱中文字幕系列| 亚洲精品久久玖玖玖玖| 青青青草视频在线观看| 亚洲 激情| 国产成人精品影视| 中文字幕一区二区三区精彩视频 | 国产成人精品综合久久久| 国产精品12| 黄色免费三级| 欧美大片a一级毛片视频| 欧美大片a一级毛片视频| 国产网站免费| 日韩专区第一页| 九九久久99| 精品视频在线观看免费| 欧美一区二区三区在线观看 | 久久精品大片| 国产福利免费观看| 成人免费观看视频| 日本特黄特色aa大片免费| 久久国产影视免费精品| 精品久久久久久中文字幕一区 | 欧美激情一区二区三区视频 | 国产精品123| 国产欧美精品| 欧美国产日韩久久久| 中文字幕Aⅴ资源网| 国产视频一区二区在线观看| 精品在线视频播放| 日韩av片免费播放| 可以免费看污视频的网站| 国产激情一区二区三区| 日本伦理片网站| 国产原创视频在线| 可以免费看污视频的网站| 亚欧成人乱码一区二区| 成人免费一级毛片在线播放视频| 国产极品精频在线观看| 国产国产人免费视频成69堂| 精品国产一区二区三区国产馆| 欧美国产日韩一区二区三区| 999精品视频在线| 中文字幕97| a级毛片免费观看网站| 国产成+人+综合+亚洲不卡| 国产成a人片在线观看视频| 日韩av片免费播放| a级黄色毛片免费播放视频| 精品久久久久久综合网| 精品在线观看国产| 国产成人啪精品视频免费软件| 日韩男人天堂| 国产一区免费观看| 黄色福利| 色综合久久久久综合体桃花网| 精品久久久久久综合网| 一级女性全黄久久生活片| 高清一级片| 国产成人精品综合久久久| 国产福利免费视频| 免费的黄色小视频| 91麻豆tv| 国产视频一区二区在线播放| 精品国产一区二区三区国产馆| 韩国毛片基地| 中文字幕一区二区三区 精品| 欧美激情一区二区三区在线| 国产精品12| 一级女性全黄久久生活片| 欧美国产日韩一区二区三区| 久久精品免视看国产成人2021| 国产一区精品| 亚洲第一色在线| 99久久网站| 欧美大片毛片aaa免费看| 国产美女在线观看| 日本乱中文字幕系列| 久久久成人影院| 日韩免费片| 精品视频在线观看视频免费视频| 亚久久伊人精品青青草原2020| 国产91素人搭讪系列天堂| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美另类videosbestsex高清| 精品国产亚洲一区二区三区| 一级片片| 91麻豆精品国产高清在线| 麻豆网站在线免费观看| 91麻豆高清国产在线播放| 美女免费精品高清毛片在线视| 免费国产一级特黄aa大片在线| 国产一区国产二区国产三区| 日本在线www| 国产一区免费观看| 成人免费观看的视频黄页| 毛片高清| 欧美大片a一级毛片视频|