2014-11-25 83 views
1

我有一个简单的类,它的一个实例可以接受输入值并提供输出值。我想创建这个类的实例的网络,其中一些实例的输出链接到其他实例的输入。有没有一种类或其他方式来以清晰,高效的方式定义这样一个网络?如何在Python中创建类的实例的网络

回答

1

你需要的是实现一个directed graph。有很多方法来实现图我建议你阅读Python Patterns - Implementing Graphs

一个简单的想法:你可以持有你想要传递输入的每个实例的列表(这也是一个图)。

class Node: 

    def __init__(self): 
     self.targets = [] 

    def output(self): 
     for target in self.targets: 
      target.process_input(self.produce_output()) 


    def process_input(self, input): 
     # Process some data here. 
     pass 


    def produce_output(): 
     # Produce some data here. 
     pass