micropython编程爱好网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 199099|回复: 3

MicroPython 库

[复制链接]

24

主题

24

帖子

3244

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3244
发表于 2022-1-20 09:48:54 | 显示全部楼层 |阅读模式
MicroPython 库
警告

本节重要摘要

  • MicroPython 提供了反映 Python 标准库功能的内置模块(例如os, time),以及 MicroPython 特定的模块(例如bluetooth, machine)。

  • 大多数标准库模块实现了等效 Python 模块的功能子集,并在少数情况下提供了一些特定于 MicroPython 的扩展(例如array, os)

  • 由于资源限制或其他限制,某些端口或固件版本可能不包括此处记录的所有功能。

  • 为了实现可扩展性,内置模块可以从加载到设备上的 Python 代码进行扩展。


    # T) i# I9 x- T

3 `) K* `0 u0 V2 J& s6 L

本章介绍 MicroPython 中内置的模块(函数和类库)。本文档通常希望描述在 MicroPython 项目中实现的所有模块和函数/类。但是,MicroPython 是高度可配置的,并且特定板/嵌入式系统的每个端口可能仅包含可用 MicroPython 库的一个子集。

考虑到这一点,请注意本文档中描述的模块(甚至整个模块)中的某些函数/类在 特定系统上的特定 MicroPython 版本中可能不可用 。查找特定功能的可用性/不可用性的一般信息的最佳位置是“一般信息”部分,其中包含与特定MicroPython 端口相关的信息。

在某些端口上,您可以通过在 REPL输入以下内容来发现可用的内置库:

help('modules')
# [3 A' K4 Z0 C  A; y
' K7 E6 m+ F; p8 g; k3 {

除了本文档中描述的内置库之外,还可以在micropython-lib中找到 Python 标准库中的更多模块以及对它的进一步 MicroPython 扩展。

Python 标准库和微型库

以下标准 Python 库已被“微化”以符合 MicroPython 的理念。它们提供该模块的核心功能,旨在替代标准 Python 库。


- y( v- M/ T! w9 X! M
* }" L1 Z+ t( v- ?" ?+ B1 c! E6 N1 L
MicroPython 特定的库

以下库中提供了特定于 MicroPython 实现的功能。

0 |( y4 y9 ~6 l. Z
& j# a: v2 d$ D
特定于端口的库

在某些情况下,以下特定于端口/板的库具有与库中的功能或类类似的功能或类machine 。在发生这种情况时,端口特定库中的条目公开了该平台独有的硬件功能。

要编写可移植代码,请使用machine 模块中的函数和类。要访问特定于平台的硬件,请使用适当的库,例如pyb 在 Pyboard 的情况下。

特定于 pyboard 的库

以下库特定于 pyboard。


  {6 `" u' w* M9 o
. \. E: g/ f. e1 ^' C特定于 WiPy 的库

以下库和类特定于 WiPy。

1 ]( ?9 _, @7 l* J% L: b0 g2 o, D
& u0 u& w! q# T
特定于 ESP8266 和 ESP32 的库

以下库特定于 ESP8266 和 ESP32。

: L( Q$ U5 {0 Z, [' W/ U' d

( \- g1 {) d7 u2 J特定于 RP2040 的库

以下库特定于 RP2040,在 Raspberry Pi Pico 中使用。

) w2 N: E& m* f; Z8 |' b

2 l. Z" Z1 }; z* sZephyr 特有的库

以下库特定于 Zephyr 端口。

. @( v1 s5 ~5 y/ ~2 U& a
5 K1 c' ]: m- O% F6 S( t7 u% T) k

" b# f/ x7 C* i6 J" o& \1 h从 Python 扩展内置库

在大多数情况下,上述模块实际上是命名umodule 而不是 module,但 MicroPython 会将任何以 u 为前缀的模块作为非u 版本的别名。然而,名为的文件(或 f冻结模块) module.py 将优先于该别名。

这允许用户提供内置库的扩展实现(可能是为了提供额外的 CPython 兼容性)。用户提供的模块 (in module.py) 仍然可以通过umodule直接导入来使用内置功能 。这在 micropython-lib中被广泛使用。有关详细信息,请参阅 分发包、包管理和部署应用程序

这适用于Python标准库(如 os, time等),也有MicroPython库太(如 machine, bluetooth等)。主要的例外是端口专用库(pyb, esp等)。

除了当您特别想强制使用内置模块时,我们建议始终使用“import module”而不是“import umodule”。


1 T2 L+ Q, G/ b) B8 E
: t+ U2 C  C+ e7 `% @
回复

使用道具 举报

0

主题

3

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2022-6-11 08:11:32 | 显示全部楼层

-

I congratulate, what words..., an excellent idea
回复

使用道具 举报

0

主题

8

帖子

34

积分

新手上路

Rank: 1

积分
34
发表于 2022-6-15 20:07:38 | 显示全部楼层

-

It is remarkable, it is the valuable answer
回复

使用道具 举报

0

主题

4

帖子

20

积分

新手上路

Rank: 1

积分
20
发表于 2022-7-8 08:20:12 | 显示全部楼层

-

You commit an error. Write to me in PM, we will discuss.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|micropython编程爱好网 ( 粤ICP备14010847号-3 )

粤公网安备 44030702001224号

GMT+8, 2025-7-4 16:57 , Processed in 0.156001 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表