【Python教學(xué)】4-4-2-1 另一些實(shí)用的庫(一)
turtle模塊會在
官網(wǎng)模塊索引:https://docs.python.org/zh-cn/3/py-modindex.html#cap-r
1.random(生成偽隨機(jī)數(shù)):
警告:random不適合用于生成密碼,若需要高保密性,則使用secrets庫!
random.seed(a=None):初始化隨機(jī)數(shù)生成器。a是種子,默認(rèn)使用系統(tǒng)時間,也可以用整數(shù)、浮點(diǎn)數(shù)或字符串。
random.randbytes(n):生成 n 個隨機(jī)字節(jié)。
random.randint(a,b):隨機(jī)生成一個整數(shù)N,滿足a <= N <= b。
random.choice(seq):從非空序列seq中隨機(jī)返回一個元素。
random.shuffle(x):就地將序列 x 隨機(jī)打亂位置。
random.random():在0.0和1.0之間隨機(jī)生成一個浮點(diǎn)數(shù)。
random.uniform(a,b):返回隨機(jī)浮點(diǎn)數(shù)N,當(dāng)a<b時,a<=N<=b;當(dāng)a>b時,b<=N<=a。
2.secrets(高度加密偽隨機(jī)數(shù),主要用于密碼):
secrets.choice(sequence):跟random里面的choice沒什么區(qū)別,只是更安全。
secrets.randbelow(n):返回(0, n) 范圍內(nèi)的隨機(jī)安全整數(shù)。
secrets.randbits(k):返回 k 個隨機(jī)比特位(1/8k字節(jié))的整數(shù),但是安全。
3.time(時間的訪問和轉(zhuǎn)換):
time.sleep(secs):原理很復(fù)雜,但是一般情況下功能是暫停secs秒。
time.time():以浮點(diǎn)數(shù)的形式返回紀(jì)元秒數(shù)(閏秒不計入紀(jì)元秒數(shù),所以和真實(shí)時間有區(qū)別),這個時間依賴于平臺,通常被稱為Unix時間。
time.time_ns():類似于前者,但返回以納秒為單位的整數(shù),可以避免浮點(diǎn)數(shù)導(dǎo)致的精度缺失。
time.thread_time():(以小數(shù)表示的秒為單位)返回當(dāng)前線程的系統(tǒng)和用戶 CPU 時間的總計值。 它不包括睡眠狀態(tài)所消耗的時間。 根據(jù)定義它只作用于線程范圍。 返回值的參考點(diǎn)未被定義,因此只有兩次調(diào)用之間的差值才是有效的。
time.thread_time_ns():與前者相似,但返回納秒時間。
time模塊中有關(guān)Windows系統(tǒng)的主要功能就這么多了,其他大多數(shù)都是針對Unix系統(tǒng)的。
4.collections(容器數(shù)據(jù)類型)
collections.OrderedDict([items]):一個用于創(chuàng)建有序字典的類:
不僅具有一般字典的所有功能,而且能夠同時保存鍵和值的映射關(guān)系以及鍵值對間的順序。
新增的方法:
popitem(last=True):刪除并返回一個鍵值對item,如果last為True,則按照LIFO原則(后進(jìn)先出,刪除最新的一個),否則按FIFO原則(先進(jìn)先出,刪除最老的一個)。
move_to_end(key, last=True):將一個現(xiàn)有的鍵值對移到序字典的任一端。 如果 last 為真則將鍵值對移到末尾,或者如果 last 為假則將條目移到開頭。 如果 key 不存在則會引發(fā)KeyError。