立即学习:https://edu.csdn.net/course/play/24458/296448?utm_source=blogtoedu
定时器:threading.Timer
1.概念:定时器就是实现过多久去执行什么事情
2.相关函数
1)Timer(self,interval,function,args=())
interval:定时的时间
function:需要执行的事件,一般是函数名,不需要带括号
args:参数
2)t = Timer(...)
实际上就是一个线程,使用:
t.start()开始,
t.cancel()结束
3)random
random.randint(0,9):生成从0到9的任意随机整数(65-90的ascill码对应的是字母的大小写)
random.choice([s1,s2,....]):从列表中任选一个
3.代码
'''
这里利用一个生成验证码的例子来说明定时器的功能与使用
'''#导入模块
from threading import Timer
import random
import time#创建生成验证码的类
class code():#一般验证码是由数字和字母组成,共4位#创建生成验证码的函数def make_code(self,n=4):#n是验证码的位数res=''for i in range(n):#生成字符串型的整数,字符串才能拼接,randint()生成一定范围内的任意整数s1 = str(random.randint(0,9))#生成字母,大小写字母的asill码位于65-90之间s2 = chr(random.randint(65,90))#在s1\s2中任选组成四位验证码,random.chioce()res+=random.choice([s1,s2]).strip()#strip()将空格去掉return res#创建定时更新验证码的函数def updata_code(self,interval=10):#获取随机生成的验证码self.new_code = self.make_code()#将验证码返回到类作为类中的全局变量,实现验证码的变动print(self.new_code)self.t = Timer(interval,self.updata_code)#将t设置为类中的全局变量self.t.start()#创建输入验证码的函数def input_code(self):while True:self.updata_code()res = input('请输入正确的验证码>>>:')if res.upper() == self.new_code:print('验证码正确')self.t.cancel()#停止定时器breakelse:print("验证码不正确,10s后重新输入")if __name__ == '__main__':obj = code()obj.input_code()