如何防止__init__?蟒蛇

use*_*870 -5 python function

这是我的代码:

class Game_Events(object):
    def __init__(self):
        print "Done"

    def thing(self):
        print "thing"

    def test(self):
        print "test"
        GE = Game_Events()
        GE.thing()

GE = Game_Events()
GE.test()
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到:

Done
test
Done
thing
Run Code Online (Sandbox Code Playgroud)

__init__当我打电话给GE.thing()时,这意味着它又跑了.但我不知道它在开始时只运行一次然后再也不会运行.

我怎样才能做到这一点?

Pea*_*oto 5

您正在Game_Event测试中创建另一个对象.使用现有类,使用self变量,如下所示.

class Game_Events(object):
    def __init__(self):
        print "Done"

    def thing(self):
        print "thing"

    def test(self):
        print "test"
        self.thing()
Run Code Online (Sandbox Code Playgroud)