sphinx_gallery.backreferences#

反向引用生成器。

解析示例文件代码以跟踪使用的函数。

函数#

sphinx_gallery.backreferences.identify_names(script_blocks, ref_regex, global_variables=None, node='')[source]#

通过识别和解析使用的名称来构建 codeobj 摘要。

参数:
  • script_blocks (list) – (label, content, line_number) 列表,其中每个元素都是一个包含标签(‘text’ 或 ‘code’)、对应块的内容字符串和前导行号的元组。

  • ref_regex (str) – 用于查找 Python 对象引用的正则表达式。

  • example_globals (Optional[Dict[str, Any]]) – 示例的全局变量。默认值=None

  • node (ast.Module or str) – 解析的节点。默认值=””。

返回:

example_code_obj – 包含示例中找到的所有代码对象引用的信息的字典。字典包含以下键

  • example_code_obj[‘name’] : 函数或类名 (str)

  • example_code_obj[‘module’] : 模块名 (str)

  • example_code_obj[‘module_short’] : 简化的模块名 (str)

  • example_code_obj[‘is_class’] : 对象是否为类 (bool)

  • example_code_obj[‘is_explicit’]对象是否为显式

    反向引用(由 Sphinx 标记引用) (bool)

返回类型:

Dict[str, Any]

#

class sphinx_gallery.backreferences.NameFinder(global_variables=None)[source]#

查找代码中变量名的最长形式及其导入。

仅保留来自导入模块的名称。

get_mapping()[source]#

使用 AST 节点将代码中使用的名称映射到其完全限定名。

返回:

options – 元组列表,每个元组包含有关 accessed_name 的以下信息

访问的名称 : str, 完全限定名 : str 如果它是一个类属性(即属性或方法) : bool 如果它是一个类 : bool 如果它是一个显式反向引用 : bool(此处始终为假)

返回类型:

List[Tuple[str]]

visit_Attribute(node)[source]#

将属性(包括其前缀)添加到 accessed_names

visit_Import(node, prefix='')[source]#

对于 ‘import’ 将节点名称添加到 imported_names

visit_ImportFrom(node)[source]#

对于 ‘from import’ 将节点名称添加到 imported_names,包括模块前缀。

visit_Name(node)[source]#

将节点 ID 添加到 accessed_names