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 モジュールをロードします。

ESP8266 固有のライブラリ

以下のライブラリは ESP8266 に固有のものです。