从开发者角度来讲,MicroPython 和 CPython 以及 PyPy 一样,都是 Python 代码的执行环境。 对于使用者来说,调用通用的 Python 的逻辑代码,手握最大的源码宝库,并且在 Python 的世界里,一切都是开源的,但是 Python 调用外部的依赖库(dll、so、exe)等并不开源,只有执行的 Python 流程和方法,是你可以任意学习、理解、修改的源码。 动态语言中,最大的效果就是快速的适应程序的业务逻辑变化,减少大型程序的重复编译,通过接口供 Python 调用就是最大的特点,俗称的胶水语言因此而来,许多稳定的程序,可以提供外部接**给 Python 反复调用确认效果,这就导致了动态语言最终多数用于测试环境和热更新程序领域。 一次编译,多次运行,是 Python 最大的好处,各举一个硬件和软件的例子。 在使用 HTTP 对接后端的时候,调试 API 接口,获取服务器的返回内容,通过 Python 可以做到随时变更 API 的参数重新发起请求,整个过程没有编译过程,只是更换参数执行函数,依次反复确认业务逻辑代码是否符合预期,类似自动化测试。 在控制硬件输出 PWM 的时候,例如调试音频设备或蜂鸣器,我们会需要经常变化参数来确认输出的波形或占空比,这时候,更换参数即可执行的 Python 就起到了快速开发的效果,对于一些需要大量调试和测试的开发。
以上例子都体现出一种效果,就是有许多需要大量测试才能确定的代码,使用 Python 进行开发会比 C 开发更具效率。 总结下来: 在一些要求不是特别高的家用、民用、日常的场合,Python 会是你最好的帮手,就像过去的编程计算器一样,可以反复帮助你确认复杂计算式的正确性。 Python 语言开发特性首先 Python 开发十分的快速,可以适应多种场合下的程序修改,实时热更新配置代码。 它拥有语法简洁、兼容大多数语言的特性、各种动态类型、自带大数库、大量开源示例代码、完整的 import 机制等等特性,这决定了它在不看重性能的场合里,用途特别明显,尤其是数据处理、算法验证、机器学习、编程学习、业务变更、升级程序等开发场合。 但是动态语言在关键操作上性能低下,所以通常我们会将关键部分逻辑迁移到 C 语言或更底层用于提速,再暴露给 Python 调用。 MicroPython 也和 Python 一样。 |