微Python

访问和控制 MicroPython 内部结构。

职能

micropython.const(expr)

用于声明表达式是一个常量,以便编译器可以优化它。这个函数的使用应该是这样的:

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

以这种方式声明的常量仍然可以作为全局变量从它们声明的模块外部访问。 另一方面,如果一个常量以下划线开头,那么它是隐藏的,它不能作为全局变量使用,并且不会占用执行期间的任何内存。

micropython.opt_level([level])

如果给出了级别,则该函数为后续脚本编译设置优化级别,并返回无。否则它返回当前的优化级别。

优化级别控制以下编译功能:

  • 断言:在 0 级断言语句被启用并编译成字节码;不编译级别 1 和更高级别的断言。
  • 内置__debug__变量:在级别 0 此变量扩展为 True;在级别 1 和更高级别,它扩展为 False。
  • 源代码行号:在第 0、1 和 2 级,源代码行号与字节码一起存储,以便异常可以报告它们发生的行号;不存储级别 3 和更高级别的行号。

默认优化级别通常是级别 0。

micropython.mem_info([verbose])

打印有关当前使用的内存的信息。如果给出详细参数,则打印额外信息。

micropython.qstr_info([verbose])

打印有关当前实习字符串的信息。如果给出详细参数,则打印额外信息。

这包括内部字符串的数量和它们使用的 RAM 量。在详细模式下,它会打印出所有 RAM 内嵌字符串的名称。

micropython.stack_use()

返回一个整数,表示当前正在使用的堆栈量。这个的绝对值不是特别有用,而是应该用来计算不同点堆栈使用的差异。

micropython.heap_lock()
micropython.heap_unlock()

锁定或解锁堆。当锁定时,不会发生内存分配, MemoryError如果尝试任何堆分配,将引发a 。

micropython.kbd_intr(chr)

设置将引发 KeyboardInterrupt 异常的字符。默认情况下,它在脚本执行期间设置为 3,对应于 Ctrl-C。将 -1 传递给此函数将禁用 Ctrl-C 的捕获,传递 3 将恢复它。

此函数可用于防止在通常用于 REPL 的传入字符流上捕获 Ctrl-C,以防该流用于其他目的