1. 文档中心
  2. 比卜创造 Micro:bit
  3. API 参考
  4. micropython

micropython

micropython 模块用于访问和控制 BiBoPython 内部机制。

函数

micropython.const(expr)

用于声明表达式为常量,以便编译器优化。用法如下:

from micropython import const
CONST_X = const(123)
CONST_Y = const(2 * CONST_X + 1)

以这种方式声明的常量仍可作为全局变量,在声明模块外部访问。若常量以下划线开头,则会被隐藏——不可作为全局变量访问,执行时也不占用内存。

micropython.opt_level([level])

若给定 level,则设置后续脚本编译的优化级别,并返回 None;否则返回当前优化级别。

优化级别控制以下编译特性:

  • 断言(Assertions):级别 0 时启用断言并编译进字节码;级别 1 及以上不编译断言。
  • 内置 __debug__ 变量:级别 0 时展开为 True;级别 1 及以上展开为 False。
  • 源码行号:级别 0、1、2 时与字节码一起存储行号,以便异常报告发生位置;级别 3 及以上不存储行号。

默认优化级别通常为 0。

micropython.mem_info([verbose])

打印当前内存使用信息。若给定 verbose 参数,则输出额外信息。

micropython.qstr_info([verbose])

打印当前已驻留字符串的信息。若给定 verbose 参数,则输出额外信息。

包括已驻留字符串的数量及其占用的 RAM。在详细模式下会打印所有 RAM 驻留字符串的名称。

micropython.stack_use()

返回表示当前栈使用量的整数。绝对值本身意义不大,更适合用于比较不同位置的栈使用差异。

micropython.heap_lock()

micropython.heap_unlock()

锁定或解锁堆。锁定后无法进行内存分配,任何堆分配尝试都会引发 MemoryError。

micropython.kbd_intr(chr)

设置将引发 KeyboardInterrupt 异常的字符。脚本执行期间默认设为 3,对应 Ctrl-C。传入 -1 可禁用 Ctrl-C 捕获,传入 3 可恢复。

此函数可用于阻止在通常用于 REPL 的输入字符流中捕获 Ctrl-C,当该流用于其他用途时尤其有用。