Py学习  »  Python

Python和MicroPython之间有什么区别?

EETOP • 1 年前 • 239 次点击  

欢迎关注创芯大讲堂查看最新芯片课程

Python和MicroPython编程语言之间的差异很小,但它们有很多不同之处。
  • 本文将讲解:

  • 什么是 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社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/153768
 
239 次点击