Python和MicroPython编程语言之间的差异很小,但它们有很多不同之处。
很难想象,
Python
编程语言作为ABC 通用平台的继承者于 1980 年代后期首次发布。有趣的是,创建 Python 的 Guido van Rossum 在担任首席开发人员近 30 年后于2018 年卸任,当时他宣布将开始长期休假。
至少可以说,Guido 的整个职业生涯都令人印象深刻。在创建 Python 之前,他为 BSD Unix 编写了一个 glob() 例程,甚至帮助开发了
ABC
编程语言。在 Google 工作期间,他还创建了
Grail
(一种用Python 编写的早期网络浏览器)以及
Mondrian
基于网络的代码审查系统。Guido 还曾在 Dropbox 工作过,并加入了 Microsoft 的开发人员部门,在那里他获得了杰出工程师的称号。
对于那些不熟悉的人,Python 是一种通用编程语言,支持多种编程范式,例如结构化、面向对象和函数式编程。在过去十年中,Python已成为最流行的编程语言之一,从机器学习应用程序到构建网站,无所不包。它也被用于创建Netflix 的推荐算法,甚至用于控制自动驾驶汽车的软件中。
MicroPython 是 Python 3(又名 Python)编程语言的精简和高效使用,该语言经过优化以在微控制器和嵌入式系统上运行
。
它已被用于控制硬件和物联网设备。它由澳大利亚理论物理学家
Damian George创建,在成功的
Kickstarter
众筹活动中发布,并与 STM32F4 驱动的开发板捆绑在一起。
本文将讨论这两种编程语言之间的差异及其显著特征。
语法差异
Python 被设计成易于使用,并利用了英文关键词而不是标点符号(图 1)。也就是说,它不使用大括号来划分代码块,尽管语句后的分号是允许的,但很少使用。语法本身采用空白来表示代码块,使程序员很容易为任何数量的应用程序写出干净而有组织的代码。
1.
Python 语法使用颜色编码突出显示和缩进样式来帮助程序员识别源代码中的元素。
另一方面,MicroPython使用了类似于Python的语法,但没有其更大的同类中所具有的额外特性的优势。例如,MicroPython无法访问 Python 可用的大量库,这意味着完成特定的编程任务可能更具挑战性。
MicroPython 还要求在文字数字和关键字之间有空格,而Python 则不同。例如,在 Python 中,用户可能会忘记在数字和关键字之间放置一个空格以形成不会引起问题的可接受的表达式。由于处理拼写错误所需的逻辑减少,MicroPython中的相同错误将产生语法错误。这是由于它的占用空间有限,因为它被设计为仅在256k 的空间和 16k 的 RAM 上运行。
两种编程语言之间的主要区别之一是它们的内存管理。Python 利用垃圾管理来释放未自动使用的内存,而 MicroPython需要手动管理,这意味着用户必须手动分配内存。
功能差异
Python 配备了许多旨在让工程师轻松编写项目代码的功能。为此,Python因其简单的语法和使用缩进而不是大括号而易于学习。它也是一种解释型语言,意味着源代码是逐行执行的,因此不需要编译代码。
它也是可移植的,允许该语言在不同的机器上运行。例如,用户可以创建代码并在Mac 或 Windows 系统上执行,而无需进行兼容性更改。此外,Python 同时支持面向对象和面向过程的编程,可以用其他语言编写,并且表现力强,这意味着用户只需编写几行代码即可执行复杂的任务。
最重要的是,Python 支持 GUI,使其易于navigate和与程序交互,并提供多个工具包,如 Tinkter、JPython 和 wxPython,以实现高效和快速的开发。它还包含一些高级功能,包括用于创建迭代器的生成器,以及用于从其他可迭代对象创建列表的列表理解。Python也有一个广泛的社区,包括 StackOverflow 和 Meetup 上的社区,它们提供众多的库,可以帮助提供类似项目的见解甚至代码。
MicroPython也提供了大量的功能,并且能够利用Python可用的相同库。此外,它是可移植的,可以在各种不同操作系统的微控制器上使用(图2)。MicroPython的一个独特功能允许用户创建新的代码,将其冻结为一个模块,并将其作为一个库使用,这可以成为开发的固件的一部分。这基本上使用户能够避免在MicroPython环境中重复下载相同的无错误代码。
2.
MicroPython 旨在运行在资源有限的硬件上,例如微控制器和物联网设备。
此外,该编程语言配备了REPL(Read-Eval-Print-Loop),可以输入可在终端上立即读取的代码行。这个方便的功能让用户可以测试他们的部分应用程序并直观地查看结果。MicroPython还配备了一组核心库,提供一些基本功能,例如网络、文件 I/O 和有限的数据类型。
性能
两种语言之间的其他差异涉及性能。
Python的执行速度通常比其他语言(包括 C 和 C++)慢,尽管它的性能可以通过使用代码优化来提高。
它还取决于运行该语言的硬件和代码的复杂性。
MicroPython被设计为在有限的资源和硬件受限的设备上运行。两者都是优秀的编程语言,并且非常适合它们的设计目的。他们拥有大量专门的用户,可以为初学者和高级用户提供见解和有用的资源。
来源:EETOP编译自electronicdesign
创芯大讲堂精品芯片课程推荐
扫描二维码参与学习或试看
Python
MicroPython
免责声明:
该内容由专栏作者授权发布或作者转载,目的在于传递更多信息,并不代表本网赞同其观点,本站亦不保证或承诺内容真实性等。若内容或图片侵犯您的权益,请及时联系本站删除。侵权投诉联系:
[email protected]
!
反欺骗的艺术:世界传奇黑客的经历分享-(安全技术经典译丛)-[美]Kevin D. Mitnick
反欺骗的艺术:世界传奇黑客的经历分享-(安全技术经典译丛)-[美]Kevin D. Mitnick&William L. Simon
所需E币: 1
2023-05-11 12:02
大小: 147.04MB
上传者:
无量头颅无量血
半导体的故事-英-约翰-奥顿-姬扬-译-当代科学技术基础理论与前沿问题研究丛书-物理学名家名作译丛 ...
半导体的故事-英-约翰-奥顿-姬扬-译-当代科学技术基础理论与前沿问题研究丛书-物理学名家名作译丛
所需E币: 3
2023-05-11 11:59
大小: 198.89MB
上传者:
无量头颅无量血
SMT常见电子元器件电阻(Resistor):1、常见电阻顏色为黑色,排阻依外观形状而言,有4P2R,6P3R,8P4R.….。2、零件的正面有标示阻值(0603以上才有标示),无极性,但有分正反面。3、在PCB板上标识:RPxx,PRxx,Rxx,如:RP1,PR12,R34。电容(排容)(Capacitor)1、瓷片电容、排容,顏色通
四川英特丽科技有限公司
2023-05-12 13:55
185浏览
新兴汽车行业软件趋势
在过去,您只需要掀开引擎盖,就可以对汽车的工作原理有一个大致的了解。然而,现在事情已经没有那么简单了。现在的车辆配备了大量软件以提升用户体验,并为驾驶员提供更为安全和便利的功能。所有这些软件的设计都必须考虑到功能安全和信息安全。
电动汽车的增加
据《华尔街日报》报道 ,电动汽车占2022年所有新车销量的10%。因此,我们调查的45%的汽车专业人士表示,
2023-05-12 10:07
207浏览
判别一台3C产品的效能最直觉的方式就是使用各种性能测试软件,要评估平板电脑的性能和应用程序运行,可利用Benchmark的软件(如3D Mark, AnTuTu或PC Mark等等)跑出分数来判断各种效能的好坏,像是CPU, GPU, Memory, HDD或是Network等等。图:Benchmark Software本文百佳泰将介绍5款平板电脑在不同性能测试软件与其表现的结果和差异,透过各种不同项目测试的分数,测试时皆使用各家平板出厂默认的选项不做任何调整,让使用者了解各台平板电脑性能的高低
百佳泰测试实验室
2023-05-12 11:17
209浏览
生产厂家、外贸企业、货运代理在出口产品时,经常会接触到MSDS报告,尤其是化工产品、电池,内置电池产品。MSDS的中文全称为“ 化学品安全技术说明书,亦可译为 化学品安全说明书 或化学品安全数据说明书,英文全称为“Material Safety Data Sheets”, 是化学品生产商和进口商用来阐明化学品的理化特性(如PH值, 闪点 ,易燃度,反应活性等)以及对使用者的健康(如致癌,致畸等)可能产生的危害的一份文件。电池MSDS认证的重要性有什么?电池进行MSDS认证是对电池质量的肯定,现在
2023-05-12 13:55
207浏览
互联网时代,软件技术对企业成功的助益越来越明显。不管是为了顺遂大众趋势,还是迫于生存压力,可以确定的是,目前各类软件的开发已经被纳入众多企业的发展规划当中。只是,长期以来国内软件行业一直存在项目成本高、开发周期长、代码质量低、团队管理难等开发痛点,许多企业在自主开发软件的道路上依然是缓缓而行。眼下,出于“降本增效”的考虑,企业对好的软件开发工具的渴望已然愈加强烈。基于此需求,华为云推出了一站式、全流程、安全可信的软件开发生产线CodeArts,助力更多企业效能倍增和数字化转型。往小了说,华为云C
2023-05-12 11:04
203浏览
百佳泰为ISO/IEC17025实验室,亦获得国际协会授权,可提供超过30种标准认证测试,特为您整理5月各大Logo的最新规格信息。 USB Type-C/Power Delivery2023年4月21日发布的最新Power Delivery CTS中定义了Power Delivery功率相关测试的转换率测量。https://usb.org/document-library/usb-power-delivery-compliance-test-specification-0HDMIPr
百佳泰测试实验室
2023-05-12 11:01
204浏览
Thread基本介绍:Thread为一种专为低功耗设备(如传感器)以及低延迟而设计的网状网络(Mesh)协议,这种技术不依赖家中的互联网网络或Wi-Fi,而是通过建立专用网络来连接家里的设备,专门为分布在家中的智能家庭设备提供简单、安全可靠和低成本的方法来连接各种不同的智能家庭设备,这些设备可能会在数月或更长时间内保持不变和不使用,只有在需要时才会唤醒,并发送简单的信息,然后返回睡眠状态并尽可能长时间保存电池的电量而不要耗尽而设计的,例如:传感器、门锁、窗帘、灯泡、恒温器、警报器等。Thread
百佳泰测试实验室
2023-05-12 10:45
200浏览
基本介绍碰撞测试是通过碰撞测试台,来模拟产品在使用、运输和卸载过程的机械碰撞环境。在重复性的机械碰撞环境下,可验证产品适应性及其机构的完好性,适用于电子器件,仪器仪表及其他包装的机电设备。碰撞测试可根据客户要求设置试验时长、冲击频次,碰撞频次。碰撞测试是用于评定运输包装件在运输过程中承受多次重复性机械碰撞的耐冲击强度及包装对内装物的保护能力,试验的严格程度取决于距离、道路状态、运输方式和运输时间。碰撞试验的技术指标包括:峰值加速度、脉冲持续时间、速度变化量(半正弦波)、每方向碰撞次数。注意冲击和
2023-05-12 16:24
175浏览
美国电池UL报告流程项目电池进入美国市场前往往要进入UL认证,虽然UL认证是自愿性的,但是,美国海关对于贴有”ul”标志的商品放行,而没有此标志的,需要复杂的检验程序。并且当发生安全事故时,消防品安全委员会(CPSC)也会以UL标准作为判定依据。因此,在美国,许多销售商为了避免麻烦,拒绝销售没有”UL”标志的商品。电池作为电气产品的零部件进入美国,是需要进行UL认证。陈19107516775产品范围锂电池(组)、备用电池(组)、家用和商用电池(组)测试标准UL1642锂电池(组)标准UL2054
2023-05-11 16:32
269浏览
物流业一直走在工业物联网的最前沿,因为许多工业物联网的机会和技术与物流业完美匹配。因此,物流业多年依赖,一直使用许多工业物联网相关的传感器和技术。 例如,多年来,物流业一直在包装、托盘和集装箱中使用条形码,从90年代到现在都在用,以监控收货入库和出库派件。相比之前打开每个随附的提货单的防范和检查货品的方法,已经有了很大的进步。然而使用手动条码扫描机仍是一项劳动密集型作业,如果员工仔细执行,尽管会很准确,但仍有托盘被遗漏或产品未被检测到的现象出现。为了解决库存控制过程的问题,物流公司寻求
lauguo2013
2023-05-12 10:41
180浏览
2023年5月11日,iQOO手机旗下“更强更Pro”的Neo8系列正式官宣,系列新品将于5月23日(周二)19:00点正式发布。Neo系列首款Pro之作——iQOO Neo8 Pro也终于展现庐山真面目,确定首发“2023年度旗舰芯”天玑9200+旗舰5G移动平台,带来业界最为强劲的性能体验。iQOO Neo8 Pro行业首发的天玑9200+采用八核CPU构架和台积电第二代4nm制程,拥有1个主频高达3.35GHz的 Arm Cortex-X3超大核、3个主频高达3.0GHz的Arm Cort
科技财经汇
2023-05-11 20:05
158浏览