Python 中的循环依赖
使用 Python 模块时遇到循环依赖可能是一个令人沮丧的问题。在这个特定场景中,我们有两个文件,node.py 和 path.py,分别包含 Node 和 Path 类。
最初,path.py 使用 from node.py import * 导入 node.py。但是,在向 Node 添加引用 Path 对象的新方法后,导入 path.py 会导致错误,因为 Node 未定义。
要解决循环依赖,请考虑实现以下内容:
利用惰性求值:不要在初始化期间将一个模块导入到另一个模块中,而是仅在特定函数中需要时才导入它。例如,在node.py中,仅在需要时导入Path:
# in node.py from path import Path class Node ...
在path.py中,仅在需要它的方法中导入Node:
# in path.py class Path def method_needs_node(): from node import Node n = Node() ...
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3