我想为以下图形结构设置类:
这会导致循环导入,因为graph_data对象需要导入图形对象。是否有更好的方法来构造这种数据结构?显然,这是一个非常精减的示例,但我认为这是我的代码的关键问题。
下面是循环导入的一个示例:
#file main.py:
from graph import graph
myGraph = graph()
#file graph.py
import graph_node
class graph:
graph_nodes = []
def __init__(self, graph_nodes=None):
if graph_nodes == None:
self.graph_nodes = graph_nodes
else:
for i in range(5):
self.graph_nodes.append(graph_node.graph_node())
#file graph_node.py
import graph_node_data
class graph_node:
graph_data = None
def __init__(self):
self.graph_data = graph_node_data.graph_node_data()
#file graph_node_data.py
import graph
class graph_node_data:
value = None
def __init__(self):
self.value = graph.graph(graph_nodes = None)这里有一个图表,说明这种结构可能有用的地方。

发布于 2017-02-22 17:57:37
只要将代码合并到一个文件中,就可以正常运行:
class graph:
graph_nodes = []
def __init__(self, graph_nodes=None):
if graph_nodes == None:
self.graph_nodes = graph_nodes
else:
for i in range(5):
self.graph_nodes.append(graph_node.graph_node())
class graph_node:
graph_data = None
def __init__(self):
self.graph_data = graph_node_data.graph_node_data()
class graph_node_data:
value = None
def __init__(self):
self.value = graph.graph(graph_nodes = None)
myGraph = graph()如果确实需要将类保存在单独的文件中,则需要使用本地导入,即在函数中声明导入语句。
def fn():
import graphhttps://stackoverflow.com/questions/42398045
复制相似问题