class DrawBot():
waitingt = Timer(30.0, lockmap)
...
def onlockmap(self, user):
self.onBackup(user, "lockmapbackup")
waitingt.start()
def lockmap():
onrestoremap("lockmapbackup")
NameError: name 'lockmap' is not defined
答案 0 :(得分:2)
因为直到达到实际定义才定义它。另外,您可能不希望在每个类的实例中共享一个计时器...请尝试这样:
class DrawBot():
def __init__(self):
self.waitingt = Timer(30.0, self.lockmap)
...
def onlockmap(self, user):
self.onBackup(user, "lockmapbackup")
self.waitingt.start()
def lockmap(self):
onrestoremap("lockmapbackup")
答案 1 :(得分:1)
lockmap()
是DrawBot()
的一部分,因此,如果您单独调用它,则会获得NameError
。
尝试使用引用self
class
来调用它
waitingt = Timer(30.0, self.lockmap)