這個模組實現了特定目標的容器,以提供python標準內建容器 dict、list、set、tuple 的替代選擇。
類名作用
ordereddict
字典的子類,保留了他們被新增的字典物件的順序
counter
字典的子類,提供了可雜湊物件的計數功能
defaultdict
字典的子類,提供了乙個工廠函式,為字典查詢提供了預設值
namedtuple
建立命名元組子類的工廠函式
deque
chainmap
類似字典的容器類,將多個對映集合到乙個檢視裡面
這個模組用於生成隨機數
函式名作用
random()
用於生成乙個0到1的隨機浮點數:0<= n < 1.0
uniform(a,b)
用於生成乙個指定範圍內的隨機符點數,兩個引數其中乙個是上限,乙個是下限。如果a > b,則生成的隨機數n: b <= n <= a。如果 a randint(a, b)
用於生成乙個指定範圍內的整數。其中引數a是下限,引數b是上限,生成的隨機數n: a <= n <= b
randrange([start], stop[, step])
從指定範圍內,按指定基數遞增的集合中 獲取乙個隨機數。random.randrange(10, 30, 2),結果相當於從[10, 12, 14, 16, … 26, 28]序列中獲取乙個隨機數。random.randrange(10, 30, 2)在結果上與 random.choice(range(10, 30, 2) 等效。
choice(sequence)
random.choice從序列中獲取乙個隨機元素。其函式原型為:random.choice(sequence)。引數sequence表示乙個有序型別。這裡要說明 一下:sequence在python不是一種特定的型別,而是泛指一系列的型別。list, tuple, 字串都屬於sequence。
shuffle(x[, random])
用於將乙個列表中的元素打亂,即將列表內的元素隨機排列。
sample(sequence, k)
從指定序列中隨機獲取指定長度的片斷並隨機排列。注意:sample函式不會修改原有序列。
這個模組用來讀取配置檔案,配置檔案的格式如下:中括號「[ ]」內包含的為section。section 下面為類似於key-value 的配置內容。
[db]
db_host = 127.0.0.1
db_port = 69
[concurrent]
thread = 10
processor = 20
另外optionxform會會將大寫字母全部轉換為小寫。
parser = configparser.configparser(delimiters=(':'))
parser.optionxform=str # without this, all string is converted to lower case
hashlib是乙個提供字元加密功能的模組,包含md5和sha的加密演算法,具體支援md5,sha1, sha224, sha256, sha384, sha512等演算法。 該模組在使用者登入認證方面應用廣泛,對文字加密也很常見。
簡單的用法:1,建立加密物件。2,對字串進行演算法加密。3,獲得16進製制顯示
import hashlib
new_md5 = hashlib.md5() #建立hashlib的md5物件
new_md5.update('字串') #將字串載入到md5物件中,獲得md5演算法加密。
print(new_md5.hexdigest()) #通過hexdigest()方法,獲得new_md5物件的16進製制md5顯示。
pprint模組提供了列印出任何python資料結構類和方法。
requests模組是第三方模組,需要預先安裝,requests模組在python內建模組的基礎上進行了高度的封裝,從而使得python進行網路請求時,變得更加簡潔和人性化。
安裝requests模組:
pip install requests
基本用法:
get 請求:傳送無引數的get請求,嘗試獲取某個網頁
r = requests.get('')
設定超時函式:
r = requests.get('', timeout=1)
post 請求:
1.以form形式傳送post請求
reqeusts支援以form表單形式傳送post請求,只需要將請求的引數構造成乙個字典,然後傳給requests.post()的data引數即可。
payload =
r = requests.post("", data=payload)
print(r.text)
2.以json形式傳送post請求,可以將一 json串傳給requests.post()的data引數,
url = ''
payload =
r = requests.post(url, data=json.dumps(payload))
#print(r.text)
print(r.headers.get('content-type'))
Python 高階2 模組與包
在檔案系統上組織 並確保每個目錄都定義了乙個 init py檔案 from import png將檔案合併成乙個單一的邏輯命名空間,後續就可以直接使用from graphics.formats import jpg,png from module import 會匯入檔案中所有不以下劃線開頭的內容,...
Python 高階 模組
coding utf 8 分拆多個py檔案,同乙個名字的變數互不影響 python中包就是資料夾,但是資料夾下必須有乙個 init py 檔案才行 python中動態匯入模組 如果匯入的模組不存在,python直譯器會報 importerror 錯誤 import something traceba...
python 高階 模組
模組匯入 模組概念 在 python 中,乙個檔案就是乙個模組 將多個檔案放在乙個資料夾內進行組織管理的形式稱為包 模組匯入方式 import from import 使用模組別名 可以使用 as 在匯入模組後,為模組新增別名,方便程式中引用 模組搜尋順序 模組在搜尋時,根據 sys 模組中定義的 ...