MicroPython ライブラリ¶
警告
この章の重要な要約
- MicroPythonは各モジュールにPythonの機能のサブセットを実装しています。
- 拡張性を容易にするために、標準の Python モジュールの MicroPython 版には通常、
u
("micro")接頭辞が付いています。 - 特定の MicroPython の亜種またはポートには、(リソースの制約またはその他の制限のために)この一般的なドキュメンテーションに記載されている機能/関数がサポートされていないことがあります。
この章では、MicroPython に組み込まれているモジュール(関数とクラスのライブラリ)について説明します。このようなモジュールにはいくつかのカテゴリがあります。
- 標準の Python 機能のサブセットを実装し、ユーザが拡張することを意図していないモジュール。
- Python の機能のサブセットを実装するモジュールで、Python コードを介してユーザーが拡張を提供します。
- Python 標準ライブラリへの MicroPython 拡張を実装するモジュール。
- 特定の
MicroPython ポート
に固有のモジュールで、移植性がありません。
モジュールとその内容の可能性に関する注意: このドキュメンテーションは、MicroPython プロジェクトで実装されているすべてのモジュールと関数/クラスについて記述することを目指しています。しかし、MicroPython は高度に構成可能であり、特定のボード/組み込みシステムへの各ポートは、MicroPython ライブラリのサブセットのみを使用可能にします。正式にサポートされているポートの場合、適用不可能な項目を除外するか、ポートが提供する機能の個々の説明に「可用性:」節を付けるかしています。
これを念頭に置いて、特定のシステム上の MicroPython の特定のビルドでは、このドキュメントで説明されているモジュールの一部の機能/クラス(またはモジュール全体)が使えない可能性があります。特定の機能の可用性/非可用性に関する一般的な情報を見つける最良の場所は、特定の MicroPython ポート
に関連する情報を含む「一般情報」の章です。
いくつかのポートでは、REPL に次のように入力することで import できる、利用可能な組込みライブラリを検出できます。
help('modules')
このドキュメントで説明されている組込みライブラリ以外にも、Python 標準ライブラリからの多くのモジュール、さらに MicroPython の拡張もあります。それらは micropython-lib
で見つけることができます。
Python 標準ライブラリとマイクロライブラリ¶
以下の標準的な Python ライブラリは、MicroPython の哲学に適合するように「マイクロ化」されています。これらは、そのモジュールの中核となる機能を提供し、標準の Python ライブラリを置き換えるものです。後述のモジュールいつくはか、標準的な Python の名前を使いますが、接頭辞 "u" がついています。たとえば json
の代わりに ujson
となっています。これは、そのようなモジュールがマイクロライブラリであることを示しています。すなわち、CPython モジュールの機能のサブセットのみを実装しています。異なる名前を付けることによって、ユーザーは Python レベルのモジュールを作成して、CPython との互換性を高める機能を拡張できます(実際に、これは前述の micropython-lib
プロジェクトによって行われます)。
CPython とのネーミングの互換性を実現するために Python レベルのラッパーモジュールを追加するのは面倒な一部の組み込みプラットフォームでは、マイクロモジュールは u 付きのと u なしの名前の両方を使えます。u なしの名前は、ライブラリパス(sys.path
)内の同名のファイルで上書きできます。たとえば import json
はまず、ファイル json.py
(あるいはパッケージディレクトリ json
)を検索し、見つかった場合はそのモジュールをロードします。何も見つからなければ、組込みの ujson
モジュールをロードします。
- 組込みの関数と例外
array
-- 数値データの配列cmath
-- 複素数のための数学関数gc
-- ガベージコレクションの制御math
-- 数学関数sys
-- システム固有関数ubinascii
-- バイナリ/ASCII 変換ucollections
-- コレクションとコンテナのデータ型uerrno
-- システムエラーコードuhashlib
-- ハッシュ化アルゴリズムuheapq
-- ヒープキューアルゴリズムuio
-- 入出力ストリームujson
-- JSON のエンコードとデコードuos
-- 基本的な「オペレーティングシステム」サービスure
-- 簡素な正規表現uselect
-- 一連のストリームのイベント待機usocket
-- ソケットモジュールussl
-- SSL/TLS モジュールustruct
-- 基本データ型のパックとアンパックutime
-- 時間関連の関数uzlib
-- zlib 展開_thread
-- マルチスレッドサポート
MicroPython 固有のライブラリ¶
MicroPython 処理系に固有の機能は、以下のライブラリで利用できます。
pyboard 固有のライブラリ¶
以下のライブラリは pyboard に固有のものです。
WiPy 固有のライブラリ¶
以下のライブラリとクラスは WiPy に固有のものです。
ESP8266 と ESP32 に固有のライブラリ¶
以下のライブラリは ESP8266 と ESP32 に固有のものです。