如何使用全局变量和DRY



所以我终于很好地设置了我的基类,并准备构建一个要测试的类。然而,当我开始构建这个,我注意到,我不得不重复自己的Lot设置所有的全局

调用start()事件来设置一切Update()每隔一秒调用一次(每秒20次)

是否有比这更有效的方法来使用全局可敬的

class BodyClass(BaseClass):
    def __init__(self, name):
        super().__init__(name)

    def Start(self):
        global i
        i = 0
        global d
        d = True
        global obj1
        obj1 = ChildClassA('Obj1')
        global obj2
        obj2 = ChildClassB('Obj2')
        global obj3
        obj3 = ChildClassC('Obj3')
        global obj4
        obj4 = ChildClassB('Obj4')
        global obj5
        obj5 = ChildClassB('Obj5')
        global obj6
        obj6 = ChildClassB('Obj6')
    def Update(self):

        global i
        global d
        global obj1
        global obj2
        global obj3
        global obj4
        global obj5
        global obj6
        print ("TYPE:", obj3.CType())
        i = i+ 1
        time.sleep(0.05)
        print("i: ", i)
        if i >= 10:
            if d:
                print("UNLOADING")
                obj2.Unload()
                obj4.Unload()
                obj5.Unload()
                obj6.Unload()
                d=False

替换全局变量

的例子:

 global obj1;
 obj1 = ChildClassA('Obj1');  => self.obj1 = ChildClassA('Obj1');

不要使用全局变量。你根本就没有使用self。将所有共享状态移动到self。这就是它的作用。不要使用全局变量

相关内容

  • 没有找到相关文章

最新更新