Python特有簡(jiǎn)寫
快速生成隨機(jī)數(shù)組
random_array = [random.randint(0,100) for i in range(10)]
# 輸出
[77, 76, 31, 0, 18, 17, 89, 85, 31, 13]
等價(jià)于
random_array = []
for i in range(10):
random_array.append(random.randint(0,100))
其中i
為臨時(shí)變量使鹅,可使用_
替代
無參數(shù)lambda使用
符號(hào):
之前無內(nèi)容
f = lambda: random.randint(0,100)
Python多線程
threading
使用threading诀姚,相當(dāng)于Java中的Runable
或Callable
import threading
import time
import random
def print_task():
delay = random.randint(1, 5)
time.sleep(delay)
print(threading.current_thread().name, "delay", delay, "seconds")
if __name__ == '__main__':
print('當(dāng)前運(yùn)行的是主進(jìn)程', threading.current_thread().name)
t = threading.Thread(target=print_task, name='t-1')
# 啟動(dòng)線程
t.start()
t.join()
線程池
推薦使用ThreadPoolExecutor呆奕,并推薦命名線程
from concurrent.futures import ThreadPoolExecutor, wait
import time
import random
import threading
def print_task():
delay = random.randint(1, 5)
time.sleep(delay)
print(threading.current_thread().name, "delay", delay, "seconds")
executor = ThreadPoolExecutor(max_workers=5, thread_name_prefix="print-task")
all_future = [executor.submit(print_task) for _ in range(10)]
wait(all_future)
總結(jié)
- python菜鳥一點(diǎn)一點(diǎn)積累