如何在Python中定义模型(需要更新)中类的属性?

如何在Python中定义模型(需要更新)中类的属性?,python,class,attributes,Python,Class,Attributes,我有以下课程,UNetwork。这是供参考的。实际问题与第二类相关,Model class UNetwork(object): nodes = dict() def _init_(self, nodes): self.nodes = nodes 现在,类(Model)具有以下属性。我如何在代码中定义易受感染的\u节点和受感染的\u节点 network-实例化时获取的类UNetwork的实例; 易受感染的\u节点-尚未感染节点

我有以下课程,
UNetwork
。这是供参考的。实际问题与第二类相关,
Model

class UNetwork(object):
    
    nodes = dict()
        
    def _init_(self, nodes):
        self.nodes = nodes
    
现在,类(
Model
)具有以下属性。我如何在代码中定义
易受感染的\u节点
受感染的\u节点

network
-实例化时获取的类
UNetwork
的实例;
易受感染的\u节点
-尚未感染节点的ID列表;最初包括来自网络的所有节点;
受感染的\u节点
-受感染节点的ID列表;最初是空的;
num_infected
-跟踪受感染节点的数量;最初是0

class Model(object):
    
    def __init__(self, network, susceptible_nodes, infected_nodes, num_infected):
         self.network = UNetwork() 
         self.susceptible_nodes = # unsure how to proceed
         self.infected_nodes = # unsure how to proceed
         self.num_infected = len(self.infected_nodes)

如果速度不是问题,它们可以是简单的列表。如果是的话,你可以去旅游

此列表将包含网络的
节点
列表中的所有密钥,以防它们最初都未受感染。如果其中一些被感染,您可以将该值存储在某个位置,然后将所有这些值附加到列表中。我建议不要将这些值存储在列表中,而是存储在另一个类中,
节点

self.susceptible_nodes = self.network.nodes.keys() #copies the keys (id's) to a list
第二个可能是一个空列表,因为它最初是空的

self.infected_nodes = list()

如果速度不是问题,它们可以是简单的列表。如果是的话,你可以去旅游

此列表将包含网络的
节点
列表中的所有密钥,以防它们最初都未受感染。如果其中一些被感染,您可以将该值存储在某个位置,然后将所有这些值附加到列表中。我建议不要将这些值存储在列表中,而是存储在另一个类中,
节点

self.susceptible_nodes = self.network.nodes.keys() #copies the keys (id's) to a list
第二个可能是一个空列表,因为它最初是空的

self.infected_nodes = list()

它们会是一个列表吗?它们的初始值是多少?如果不是空的,他们从哪里获得ID?@nagyl只是扩展了初始代码以显示值的来源。现在基本上只需手动输入。您是否考虑在GITHUB上共享该源?这看起来很有趣,也许我可以帮你做这部分。@nagyl我刚刚创建了一个新的线程来讨论我试图按照属性执行的方法。你能提供一些见解吗?这是我最后一次坚持下去了。您可以将该线程中的代码复制并粘贴到一个编辑器中,该编辑器应该会提供与我一样多的信息-我没有任何其他说明可以从GitHub中获益。找不到它。我还想让更多的人继续这个项目,而不仅仅是复制代码。你能给我一个新帖子的链接吗?它们会是一个列表吗?它们的初始值是多少?如果不是空的,他们从哪里获得ID?@nagyl只是扩展了初始代码以显示值的来源。现在基本上只需手动输入。您是否考虑在GITHUB上共享该源?这看起来很有趣,也许我可以帮你做这部分。@nagyl我刚刚创建了一个新的线程来讨论我试图按照属性执行的方法。你能提供一些见解吗?这是我最后一次坚持下去了。您可以将该线程中的代码复制并粘贴到一个编辑器中,该编辑器应该会提供与我一样多的信息-我没有任何其他说明可以从GitHub中获益。找不到它。我还想让更多的人继续这个项目,而不仅仅是复制代码。你能给我一个新帖子的链接吗?
#将键(id)复制到列表
-因为3.0版dict.keys()返回一个非列表。
#将键(id)复制到列表
-因为3.0版dict.keys()返回一个非列表。