在重复实例化的情况下,通过独特的字典对实例进行高效管理

问题描述 投票:0回答:1

关于我的问题:

每次前端向后端发送消息时,我都会多次创建类的实例。(这也无法更改)。

现在实例必须满足以下条件:

  1. 每次创建实例时字典一定不能丢失。
  2. 实例有不同的字典。

你知道我如何实现这一点吗?

到目前为止,我的课堂上有这个:

class ScheduleOptimizeNew:
    data = {
        "Station": {
        }}
    def __init__(self, cfgpath):
        self.cfg = cfgpath

这里它是在我的 app.py 中创建的:

scheduleroptimizernew= ScheduleOptimizeNew(CFGPath) 

非常感谢!

python python-3.x python-2.7 multiple-instances
1个回答
0
投票

这里有一些代码,以便您可以了解类变量与实例变量:

类变量

class ScheduleOptimizeNew:
    data = "Shared between instances"
    def __init__(self):
        pass

instance1 = ScheduleOptimizeNew()
instance2 = ScheduleOptimizeNew()
instance3 = ScheduleOptimizeNew()

print("\n------------------")
print("Original")
print(instance1.data)
print(instance2.data)
print(instance3.data)
print("------------------")

instance2.data = "Modified value"

print("\n------------------")
print("Modified through instance")
print(instance1.data)
print(instance2.data)
print(instance3.data)
print("------------------")


ScheduleOptimizeNew.data = "Modified value"


print("\n------------------")
print("Modified through class")
print(instance1.data)
print(instance2.data)
print(instance3.data)
print("------------------")

实例变量

class ScheduleOptimizeNew:
    def __init__(self):
        self.data = "Specific to each instance"
        pass

instance1 = ScheduleOptimizeNew()
instance2 = ScheduleOptimizeNew()
instance3 = ScheduleOptimizeNew()

print("\n------------------")
print("Original")
print(instance1.data)
print(instance2.data)
print(instance3.data)
print("------------------")

instance2.data = "Modified value"

print("\n------------------")
print("Modified through instance")
print(instance1.data)
print(instance2.data)
print(instance3.data)
print("------------------")


ScheduleOptimizeNew.data = "Modified value"


print("\n------------------")
print("Modified through class")
print(instance1.data)
print(instance2.data)
print(instance3.data)
print("------------------")
© www.soinside.com 2019 - 2024. All rights reserved.