1. 程式人生 > 實用技巧 >Pytnon內建模組

Pytnon內建模組

python模組

常見的內建模組
一、內建模組:
|-- math
該模組主要用於數學和相關計算的一個模組
屬性:
pi # 圓周率
e # 自然常數
方法:
三角函式 sin cos …
對數 log log10 …
ceil() # 向上取整
floor() # 向下取整
fabs # 絕對值
sqrt # 開平方
pow # 冪次方
|-- random
random.random() # 隨機[0~1) 區間
random.randint() # [a, b] 區間的隨機整數
random.uniform # [a, b] 區間的隨機數
random.choice(容器) # 隨機選擇一個元素

random.shuffle(容器) # 洗牌,隨機打散資料

|-- uuid
python的uuid模組提供UUID類和函式uuid1(), uuid3(), uuid4(), uuid5() 來生成1, 3, 4, 5各個版本的UUID ( 需要注意的是: python中沒有uuid2()這個函式). 對uuid模組中最常用的幾個函式總結如下:

1. uuid.uuid1([node[, clock_seq]]) : 基於時間戳

使用主機ID, 序列號, 和當前時間來生成UUID, 可保證全球範圍的唯一性. 但由於使用該方法生成的UUID中包含有主機的網路地址, 因此可能危及隱私. 該函式有兩個引數, 如果 node 引數未指定, 系統將會自動呼叫 getnode() 函式來獲取主機的硬體地址. 如果 clock_seq 引數未指定系統會使用一個隨機產生的14位序列號來代替.

2. uuid.uuid3(namespace, name) : 基於名字的MD5雜湊值

通過計算名稱空間和名字的MD5雜湊值來生成UUID, 可以保證同一名稱空間中不同名字的唯一性和不同名稱空間的唯一性, 但同一名稱空間的同一名字生成的UUID相同.

4. uuid.uuid4() : 基於隨機數
  通過隨機數來生成UUID. 使用的是偽隨機數有一定的重複概率.
  5. uuid.uuid5(namespace, name) : 基於名字的SHA-1雜湊值
  通過計算名稱空間和名字的SHA-1雜湊值來生成UUID, 演算法與 uuid.uuid3() 相同.
|-- os
|-- os.path

|-- sys
|-- time
|-- datetime
|-- calendar
|-- hashlib
|-- hmac

sys
|-- argv # 指令碼傳參
|-- exit() # 退出系統
|-- getdefaultencoding() # 獲取系統的預設編碼
|-- getfilesystemencoding() # 獲取檔案編碼
|-- setrecursionlimit(num) # 設定遞迴的極限值
|-- getrecursionlimit() # 獲取遞迴的極限值
|-- getrefcount() # 獲取物件的引用計數
二、匯入模組,以模組math為例
在這裡插入圖片描述
三、垃圾回收演算法:
引用計數法: 缺點:迴圈引用時,就無法回收記憶體

時間和日期相關模組
time
在這裡插入圖片描述
datetime
|-- time([hour[,minutes][,seconds]]) # 構建一個時間物件
|-- date(year,month,day) # 構建一個日期物件
|-- datetime子模組

四、datetime子模組
import datetime
datetime.datetime.xxxx()
from datetime import datetime
在這裡插入圖片描述
五、日曆模組(calendar)匯入及方法:
Calendar 是python 日曆模組,此模組的函式都是日曆相關的,例如列印某月的字元月曆,星期之類的模組,下面剖析python Calendar 模組匯入及用法。

1,python匯入日曆模組
在這裡插入圖片描述
2,日曆模組的函式

calendar.firstweekday( ) 星期

calendar.leapdays(y1,y2)
在這裡插入圖片描述
calendar.weekday(year,month,day)

星期一是預設的每週第一天,星期天是預設的最後一天。更改設定需呼叫calendar.setfirstweekday()函式。