【Python】time()函数实现带参数的线程定时器计时功能(测试代码+api例程)

目录

    • API说明:
    • 注意事项
    • 基本例程(定时函数不带参数)
    • 拓展例程(定时函数带参数)
    • 总结


欢迎关注 『Python』 系列,持续更新中
欢迎关注 『Python』 系列,持续更新中

API说明:

Timer(2, hello)#2秒后执行hello函数

  • 参数1 interval 定时器间隔,间隔多少秒之后启动定时器任务(单位:秒);
  • 参数2 function 要被执行的函数;
  • 参数3 args 线程参数,可以传递元组类型数据,默认为空(缺省参数);
  • 参数4 kwargs 线程参数,可以传递字典类型数据,默认为空(缺省参数);

注意事项

  1. Timer() 内的时间单位是秒
  2. 参数3和4要注意是可迭代的类型,比如说下面这样会报错
from threading import Timer
def hello(message):
    print("过了几秒才会出现的mzh")
    print(message)

t = Timer(2, hello,(1))#2秒后执行hello函数
t.start() #开始计时器计时
print("马上出现的结果")

出现了如下的报错:
【Python】time()函数实现带参数的线程定时器计时功能(测试代码+api例程)_第1张图片

Traceback (most recent call last):
  File "E:\python\python\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File "E:\python\python\lib\threading.py", line 1254, in run
    self.function(*self.args, **self.kwargs)
TypeError: hello() argument after * must be an iterable, not int

但是下面这样不会报错,区别只是从 Timer(2, hello,(1)) 变成了 Timer(2, hello,("1"))

from threading import Timer

def hello(message):
    print("过了几秒才会出现的mzh")
    print(message)

t = Timer(2, hello,("1"))#2秒后执行hello函数
t.start() #开始计时器计时
print("马上出现的结果")

基本例程(定时函数不带参数)

from threading import Timer

def hello():
    print("过了几秒才会出现的mzh")

t = Timer(2, hello)#2秒后执行hello函数
t.start() #开始计时器计时
print("马上出现的结果")

【Python】time()函数实现带参数的线程定时器计时功能(测试代码+api例程)_第2张图片


拓展例程(定时函数带参数)

from threading import Timer

def hello(message):
    print("过了几秒才会出现的mzh")
    print(message)

t = Timer(2, hello,("1"))#2秒后执行hello函数
t.start() #开始计时器计时
print("马上出现的结果")

【Python】time()函数实现带参数的线程定时器计时功能(测试代码+api例程)_第3张图片


总结

大家喜欢的话,给个,点个关注!继续跟大家分享敲代码过程中遇到的问题!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2022 mzh

Crated:2022-1-10

欢迎关注 『Python』 系列,持续更新中
欢迎关注 『Python』 系列,持续更新中
【Python安装第三方库一行命令永久提高速度】
【使用PyInstaller打包Python文件】
【更多内容敬请期待】


你可能感兴趣的:(python,python,计时,线程)