symtable —访问编译器的符号表

源代码: Lib/symtable.py


符号表是在字节码生成之前由编译器从 AST 生成的。符号表负责计算代码中每个标识符的范围。 symtable提供了一个界面来检查这些表。

生成符号表

检查符号表

如果将该名称用作函数或类语句的目标,则为 true。

For example:

>>> table = symtable.symtable("def some_func(): pass", "string", "exec")
>>> table.lookup("some_func").is_namespace()
True

请注意,一个名称可以绑定到多个对象。如果结果为True,则名称也可以绑定到其他对象,例如 int 或 list,这些对象不会引入新的名称空间。

首页