sphinx_gallery.backreferences#

反向參考產生器。

解析範例檔案程式碼,以追蹤所使用的函式。

函式#

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

透過識別和解析使用的名稱來建立程式碼物件摘要。

參數:
  • script_blocks (list) – (標籤, 內容, 行號) 列表,其中每個元素都是一個元組,包含標籤('text' 或 'code')、區塊的相應內容字串和前導行號。

  • ref_regex (str) – 用於查找 Python 物件參考的 Regex。

  • example_globals (Optional[Dict[str, Any]]) – 範例的全域變數。預設值=None

  • node (ast.Modulestr) – 已解析的節點。預設值=""。

回傳:

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)[原始碼]#

在程式碼中找出變數名稱的最長形式及其匯入。

僅保留從匯入模組中來的名稱。

get_mapping()[原始碼]#

使用 AST 節點將程式碼中使用的名稱映射到其完整限定名稱。

回傳:

options – 元組列表,每個元組包含有關 accessed_name 的以下資訊

accessed name : str, 完全限定名稱 : str 如果它是類別屬性(即屬性或方法): bool 如果它是類別:bool 如果它是明確的反向參考:bool(在此處始終為 false)

回傳類型:

List[Tuple[str]]

visit_Attribute(node)[原始碼]#

將屬性(包括其前綴)新增至 accessed_names

visit_Import(node, prefix='')[原始碼]#

對於「import」,將節點名稱新增至 imported_names

visit_ImportFrom(node)[原始碼]#

對於「from import」,將節點名稱新增至 imported_names,包括模組前綴。

visit_Name(node)[原始碼]#

將節點 ID 新增至 accessed_names