我的Python程序有一个main.py模块,该模块从Board类创建许多board对象。董事会班使用“大脑”班来决定董事会上可能发生的事情。 Brain类使用Data类来帮助决策。
我遇到的问题是,每当任何Board对象让Brain进行操作时,都必须将新信息添加到Data类中的 same Python字典中。我不敢这么说,但是我确实确实认为Data类中此词典的精神是它必须是“全局的”。什么是正确的模式,以便所有实例都可以写入 same 词典?我什至应该使用Data类来保存字典吗?
答案 0 :(得分:0)
如果您想使用单独的类来保存字典,则可以这样创建它:
class Data:
info = {}
def __init__(self):
...
,然后您可以在数据类中包含所需的其他任何代码。要读取info
中的内容,您可以调用Data.info
,也可以在拥有Data类的实例时使用my_instance.info
,但是无论该实例是什么,它都将始终读取相同的内容信息字典。希望这能回答您的问题
答案 1 :(得分:0)
还可以考虑使用DI来维护字典实例的数量,而不是使其单例。如果您将其设置为单例,则无法为每个用户提供字典。