python3 隨機延時 線程式號

2021-10-09 16:58:48 字數 2825 閱讀 5495

delay_x_y_s( x,y ) 的意思是:

先固定延時 x 秒

再隨機延時 0到y 秒

delay_between_x_y_s 的意思是:

隨機延時 x到y 秒 

使用方法:直接呼叫函式 序號()

不加引數預設返回 (1)、(2)、(3)、....

引數為 int 型別時,返回int型別的序號值。

引數為字串型別的模板時,返回模板並用序號值替換模板中的字元"1"。

import time

import random

import threading

import re

# region 隨機延時

# 固定延時x秒

def delay_x_0_s(fixed_delay_num):

x = float(fixed_delay_num)

time.sleep(x)

# 隨機延時 0~y 秒

def delay_0_y_s(random_delay_num):

y = float(random_delay_num)

time.sleep(random.random() * y)

# 先固定延時x秒,再隨機延時 0~y 秒

# 延時區間,包前不包後

def delay_x_y_s(fixed_delay_num, random_delay_num):

delay_x_0_s(fixed_delay_num)

delay_0_y_s(random_delay_num)

# 隨機延時 x~y 秒

# 延時區間,包前不包後

def delay_between_x_y_s(start_delay_num, end_delay_num):

x = float(start_delay_num)

y = float(end_delay_num)

delay_x_0_s(x)

delay_0_y_s(y - x)

# endregion 隨機延時

if __name__ == '__main__':

def delay_1_2_s():

delay_x_y_s(1, 2)

for i in range(5):

start_time = time.time()

delay_1_2_s()

end_time = time.time()

print()

print(end_time - start_time)

# region 線程式號

class 線程式號類:

def __init__(self):

self._序號集 = {}

@staticmethod

def 例項化():

return 線程式號類()

def 序號_重置(self, 下乙個序號數字=1):

序號值 = 下乙個序號數字 - 1

執行緒識別符號 = threading.currentthread().ident

self._序號集[執行緒識別符號] = 序號值

def 序號(self, 字串模板="(1)"):

# region 獲取序號值

執行緒識別符號 = threading.currentthread().ident

try:

序號值 = self._序號集[執行緒識別符號]

except:

序號值 = 0

try:

序號值 += 1

except:

序號值 = 1

self._序號集[執行緒識別符號] = 序號值

# endregion

# region 輸出序號值

if repr(type(字串模板)) == "": return 序號值

字串模板 = str(字串模板)

數字match = re.match("([^0-9]*)([0-9]*)([\s\s]*)", 字串模板)

模板序號值 = f""

return 模板序號值

# endregion

_靜態序號生成器 = 線程式號類.例項化()

def 序號_重置(下乙個序號數字=1):

_靜態序號生成器.序號_重置(下乙個序號數字)

def 序號(字串模板="(1)"):

return _靜態序號生成器.序號(字串模板)

# endregion 線程式號

if __name__ == '__main__':

def delay_0_500_ms():

delay_x_y_s(0, 500/1000)

def mythread_1():

for i in range(5):

delay_0_500_ms()

print(f":這是第乙個執行緒")

def mythread_2():

for i in range(5):

delay_0_500_ms()

print(f': —————— 這是第二個執行緒')

python 詞典的序號 python3

python3 字典 字典是另一種可變容器模型,且可儲存任意型別物件。字典的每個鍵值 key value 對用冒號 分割,每個對之間用逗號 分割,整個字典包括在花括號 中 格式如下所示 d 鍵必須是唯一的,但值則不必。值可以取任何資料型別,但鍵必須是不可變的,如字串,數字或元組。乙個簡單的字典例項 ...

Python3編寫隨機點名基本程式

全班共54人,共9個小組 import randomdef rand min max times type t 0 check 建立空列表,用於儲存隨機生成的整數 while t times num random.randint min max 使用使用者輸入的範圍隨機生成整數 避免重複,將已生成的...

Python3多執行緒

學習python執行緒 python3 執行緒中常用的兩個模組為 thread threading 推薦使用 thread 模組已被廢棄。使用者可以使用 threading 模組代替。所以,在 python3 中不能再使用 thread 模組。為了相容性,python3 將 thread 重新命名為...