计时器对象返回参数Nº

2024-04-16 04:33:48 发布

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

当时正在开发一个简单的计时器功能,但遇到了麻烦。有关守则如下:

#!/usr/bin/python3
import threading
Timer = threading.Timer()
def hello():
    print "hello, world"

t = Timer(30.0, hello)
t.start()  # after 30 seconds, "hello, world" will be printed

代码是https://docs.python.org/2/library/threading.html#timer-objects中代码的直接副本 由于函数hello不接受任何参数,我不理解以下错误输出:

  File "timer_test.py", line 3, in <module>
Timer = threading.Timer()
File "C:\Python27\lib\threading.py", line 1047, in Timer
return _Timer(*args, **kwargs)
TypeError: __init__() takes at least 3 arguments (1 given)

除了时间本身和要执行的函数之外,Timer是否还需要另一个参数?既然函数hello不接受任何参数,就不需要传递args/kwargs吗?我尝试传递任意参数,如None[],但没有任何改变

我知道这可能是一个愚蠢的问题,但由于文档没有回答我,而且我在这里找不到答案,所以我决定发布这个。 谢谢你的时间/帮助


Tags: 函数代码inpyhelloworld参数line
1条回答
网友
1楼 · 发布于 2024-04-16 04:33:48

它不是直接拷贝。它有一个额外的行:

Timer = threading.Timer()

在这一行中,您尝试创建一个时间,但不传递延迟和函数参数

更详细地说,如果可以的话,您可以使用计时器的对象覆盖类名Timer,并尝试创建另一个计时器,但要从实例创建,而不是从类创建。那是行不通的

删除该行,并使其与文档中的内容完全相同

相关问题 更多 >