Python經典高階 模組 2

2021-10-02 04:33:52 字數 2731 閱讀 1437

這個模組實現了特定目標的容器,以提供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 模組中定義的 ...