学习笔记(31):Python网络编程并发编程-定时器
生活随笔
收集整理的這篇文章主要介紹了
学习笔记(31):Python网络编程并发编程-定时器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
立即學習: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()?
總結
以上是生活随笔為你收集整理的学习笔记(31):Python网络编程并发编程-定时器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js 高阶函数之柯里化
- 下一篇: 第一阶段SCRUM冲刺 08