如何在python中只调用一次方法/运行一次方法

时间:2013-11-28 13:05:56

标签: python

我想调用/运行一个方法只有一次我尝试了但是它不起作用:

class S ()
    _int_(self)
      self.xxx = True # i tried with and without
    def Packet (event):
       if (xxx == True):  
           self.f(event, xxx)
           print xxx
       else:
           ....
    def f (event):
       print "something"
       Do_Somthing
       xxx=False

问题xxx仍然是真的

祝你好运 AMER

3 个答案:

答案 0 :(得分:3)

整个班级的语法对我来说似乎不对。你可以做这样的事情

class S:
    def __init__(self):        # Initializer function for instance members
        self.flag = True

    def myMethod(self):        # Actual method to be called
        if self.flag:
            ....
            ....
            self.flag = False

答案 1 :(得分:1)

xxx更改为self.xxx

xxx = False创建一个新的名称绑定,而不是分配给对象中的字段。

此外,您的代码中还存在一些其他语法错误。这是您运行的实际代码吗?您发布的代码不应该运行。

答案 2 :(得分:0)

from itertools import count

class S ()

    def __init__(self)
      self.xxx = count()

    def Packet(self, event):
       if next(self.xxx) == 0:  
           self.f(event)
       else:
           ....

    def f(self, event):
       print "something"
       #Do_Something