python初学者指南pdf下载,python入门指南 百度云

本文详细介绍了如何在Python的Micropython环境中使用C语言扩展功能,包括添加新功能、内存优化以及实现类似numpy的数学库,以解决特定硬件限制和提升性能问题。作者通过实例演示和源代码分享,帮助初学者理解并实践这一技巧。
摘要由CSDN通过智能技术生成

这篇文章主要介绍了python编程初学者指南 在线阅读,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

Source code download: 本文相关源码

c338d47c2dcd95d8f48218c872b97754.png

简介

假如您以某种方式遇到了micropython,在某个实例中爱上了它,然后订购了pyboard,甚至您可能已经为加急快递支付了额外费用。pyboard到达后,您变得像小狗一样兴奋pythonturtle画递归树。您使用了硬件,学习了如何使用加速度计,开关,LED和温度传感器,并通过I2C,SPI,USART或CAN接口与其他设备成功通信。您已将开发板插入计算机,然后在上面模拟出一个看起来失去方向感的鼠标把某人逼疯。您甚至试图将其除以零,只是为了查看芯片是否会起火(顺便说一句,这很恶心),并且注意到解释器巧妙地阻止了此类事件的发生。您已经编写了自己的python函数,甚至将它们编译成冻结的模块,然后将所有该死的东西烧录到微控制器上。然后,您已经对板载汇编器有所了解,因为您希望可以加速运行(但其实你不能)。

然而,在此之后您总感到有些不满意。您发现您想以一种特殊的方式访问外围设备,或者需要一些独特的函数,当在python本身中实现该函数时,它似乎会占用过多的RAM,并且需要很长的执行时间。由于局限性,使用汇编就很尴尬了。也许,你完全不想通过用python编写所有东西来使代码易于阅读,你想隐藏其中的魔力,只是为了让它更容易阅读。但是您仍然想保留python的优雅。

经过彻底的内省和深思熟虑之后,如果您发现自己身上的这些问题,则有两种选择:您感到绝望,放弃想法并继续前进;或者学习micropython如何在后台完成这些繁重的工作,用C语言编写自己的函数、类和方法。事实证明,一旦掌握了它,它并不难。唯一的窍门就是掌握它,这就是本文的目的。

在接下来的内容中,我想展示如何添加新功能并将其传递给python解释器。我将尝试以一种平易近人的方式讨论micropython的各个方面。每个概念都将在一个实现中呈现,并减少到最低限度,您可以立即进行编译并尝试一下。(这里的代码已经针对micropython v.1.11进行了测试。)在每一章的最后,我将完整列出所讨论的代码,并且还包括源链接,以便复制和粘贴而不用输入大量的代码。此外,我还提供了一个小示例,以便我们可以看到我们代码的效果。该代码以及该文档的源代码也可以在 https://github.com/v923z/micropython-usermod 下获得。最简单的入门方法可能是使用

git clone https://github.com/v923z/micropython-usermod.git

至于来源:您在这里看到的所有内容都来自一个Jupyter笔记本。没错,文档,C源代码,编译和测试,您可以在https://github.com/v923z/micropython-usermod/blob/master/docs/micropython-usermod.ipynb 找到这些笔记本 。您可能想知道,这一切都在MIT许可下。

我从一个非常简单的模块开始,然后逐步构建它。在讨论的最后,我将概述通用数学库的版本,类似于numpy。实际上,正是在我研究这个数学模块的时候,我才意识到,缺少一个关于micropython的编程指南,因此才有了本文档。显然,numpy是一个巨大的库,我们不会完整的实现它。但是我们将能够定义有效存储的阵列,在这些阵列上可以进行矢量化计算,处理矩阵,对其反转和收缩,将多项式拟合到测量数据并获得任意序列的傅立叶变换。我确实希望您觉得教程足以令人信服!

最后一句话:我相信,本文中的所有示例都可以在python本身中轻松实现,我绝对不主张在固件中包含这些琐碎的案例。我基于两个理由选择了这些示例:第一,它们都很简单,几乎是原始的,但是正是因为这个原因,它们展示了一个没有干扰的想法;其次,拥有一段并行的python代码是很有用的,因为它告诉我们期望什么,而且它还鼓励我们实现C语言版本,从而产生pythonic函数。

代码块

您将在本文档中遇到各种代码块。这些具有各种范围,如下所示:

  • 如果代码块以感叹号开头,则该内容应在命令行上执行。

  • 如果代码块看起来像一段python代码,则应在python解释器中运行。

  • 如果代码块的标题是%%micropython,那么您猜对了,那么内容应该传递到移植的micropython解释器中。

  • 其他代码段可以是C代码或makefile。这些都应该易于识别,因为这两个文件都有一个带有指向文件位置的链接的头部。

参考

  • 在线版本

  • PDF版本

  • EPub版本

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值