Google colaboratory 在Google Colabs中使用计时器模块时回答不正确

Google colaboratory 在Google Colabs中使用计时器模块时回答不正确,google-colaboratory,Google Colaboratory,我在Google Colabs中键入此代码 def mytimer(): print("Python Program\n") my_timer = threading.Timer(0.8, mytimer) my_timer.start() print("Bye\n") 在某些情况下,我得到的输出是 Bye 其他时候,我会 Bye Python Program 为什么会出现这种差异?我应该添加其他代码行吗?或者我应该注意的任何标准?您在这里遗漏了一些东西 thread

我在Google Colabs中键入此代码

def mytimer(): 
     print("Python Program\n") 
my_timer = threading.Timer(0.8, mytimer) 
my_timer.start() 
print("Bye\n") 
在某些情况下,我得到的输出是

Bye
其他时候,我会

Bye

Python Program
为什么会出现这种差异?我应该添加其他代码行吗?或者我应该注意的任何标准?

您在这里遗漏了一些东西

threading.Timer-根据文档,在指定的秒数后调用函数,当它为0.2时,它将调用该函数,当它为0.8时,它将同时打印这两个函数。它没有调用该函数,因此它没有调用,这与colab无关
你可以参考

我没有得到时间差的影响我不明白为什么它在时间为0.2时被打印,而在时间为0.8时没有打印?有人能解释一下Threading.Timer(间隔、函数、参数=无、kwargs=无),在您的案例中,它在经过0.2秒后调用该函数。它调用def mytimer():print(“Python程序\n”)。但是,当时间为0.8秒时,该时间没有经过,因此它不会调用该函数,而是打印下一条语句print(“Bye\n”)。希望这有助于更好地理解使用前面答案中的链接并阅读python文档
import logging
import threading
import time
def mytimer(): 
     print("Python Program\n") 
my_timer = threading.Timer(0.2, mytimer) # change it to 0.8 will not print
my_timer.start() 
print("Bye\n")