ベースthreading.Timerは、タスクタイマーを達成:内部強度の練習[009]パイソン


プログラムに学ぶことは自転車に乗ることを学ぶことに似ている、初心者の最も重要なことは、忍耐の運動です。
この章文「地下水」で参照してください:今すぐ「DOは才能や能力に一定の練習の彼の不足を心配しないで、才能が成長だろう」それについて考える、これがケースです。


A、タイマークラスプレゼンテーション

タイマー(タイマー)は、クラスのスレッド、指定した時間後にコールする方法を導出します。

二、タイマー文法

Timer(interval, function, args=[], kwargs={})
  • インターバル:指定された時間
  • 機能:実行する方法
  • メソッドパラメータ:引数/ kwargsから

第三に、シンプルなタイマーインスタンス

from threading import Timer


def hello(name):
    print("%s hello, world" % name)


t = Timer(2, hello, args=('金鞍少年',))  # 第一个参数指定的时 时间,第二个是运行函数名
t.start()  # after 2 seconds, "金鞍少年 hello, world" will be printed

四、Timerクラスキャンセル()メソッド

 Timer.cancel()  

主な役割:タスクタスクはタイマーでサスペンションの実施過程で定期的にタスクを実行するために使用することができ、キューをクリアすることです。

五、ウェブのタイマ応用例

アナログ伝送符号登録

from threading import Timer
import random, time

class Code:
    def __init__(self):
        self.make_cache()

    # 定时打印验证码
    def make_cache(self, interval=5):
        self.cache = self.make_code()
        print(self.cache)
        self.t = Timer(interval, self.make_cache)  # 定时5秒,触发 make_cache 函数 ,打印验证码
        self.t.start()

    # 生成随机验证码
    def make_code(self, n=4):
        res = ''
        for i in range(n):
            s1 = str(random.randint(0, 9))  # 数字
            s2 = chr(random.randint(65, 90))  # 大写字母
            res += random.choice([s1, s2])
        return res  # 返回四位数验证码

    # 判断验证码
    def check(self):
        while True:
            inp = input('>>: ').strip()
            if inp.upper() == self.cache:
                print('验证成功', end='\n')
                self.t.cancel()  # 停止定时器
                break


if __name__ == '__main__':
    obj = Code()
    obj.check()
公開された74元の記事 ウォン称賛79 ビュー10000 +

おすすめ

転載: blog.csdn.net/weixin_42444693/article/details/105342486