在python中处理计时器对象

2024-10-01 17:37:51 发布

您现在位置:Python中文网/ 问答频道 /正文

再一次,我在努力解决一些问题,尽管它可能比我上一篇文章中的二进制数组要简单一些。基本上,我用函数名创建了一个timer对象。但是,我一直遇到一个问题,因为它说我调用的函数没有在Name Error下定义。在

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

Tags: 对象函数nameselfdef文章二进制error
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")

lockmap()DrawBot()的一部分,因此如果单独调用它,您将得到一个NameError。在

尝试使用self调用它,它引用class

waitingt = Timer(30.0, self.lockmap)

相关问题 更多 >

    热门问题