我想做一个函数,允许我每5秒钟使用另一个函数。当函数的第一次调用启动时,另一个变量将存储上次执行时间。。我计算了5秒的间隔,如果5秒没有过去就返回。你知道吗
class MyClass():
def __init__(self):
last_use = 0
def __del__(self):
pass
def Foo(self):
elapsed = time.time() - self.GetLastClick()
if (elapsed > 5)
print("Wait 5 seconds")
return
self.SetLastClick(time.time())
def SetLastClick(self, arg):
self.last_use = arg
def GetLastClick(self):
return self.last_use
但是这不起作用,我做错了什么? 我会遇到一些错误,比如无效语法,还有一些关于float的错误 Python27
注意这个:
PS:我喜欢JavaScript;)
这是您的代码,经过清理,可以删除类似Java的getter/setter,这在Python中是不必要的:
您遇到的主要语法错误是在if语句中省略了“:”。逻辑上,你的
> 5
应该是< 5
。你知道吗这张照片:
编辑: 这里是高级版本,其中
wait_at_least
装饰器 注意检查通话间隔时间的开销逻辑,以及 各种FooX()
方法只做FooX()
方法所做的:我添加了Foo2来说明这两个方法保持独立的计时器,并且可以在调用之间采用不同的最小等待时间。你知道吗
印刷品:
您可以使用closure实现这一点
相关问题 更多 >
编程相关推荐