Python 內建模組1

2021-06-28 12:21:36 字數 2419 閱讀 8634

十三:常見內建模組:

python之所以自稱 batteries included 就是因為內建了愈多非常有用的模組 無需安裝配置 就可以直接使用               

1:collections  python內建的乙個集合模組 提供很多有用的集合類

namedtuple:  乙個函式 可以用來建立乙個自定義的tuple物件 並且固定tuple元素的個數 並可以用屬性而不是索引來引用tuple元素 具備tuple的元素不變性

>>>from collections import namedtuple

>>>point=namedtuple('point',['x','y'])

>>>p=point(1,2)

>>>p.x

1>>>p.y

2可以驗證建立的point物件是tuple的一種子類:

>>>isinstance(p,point)

true

>>>isinstance(p,tuple)

true

類似的也可以用座標和半徑表示乙個園

deque: 使用list儲存資料時 按索引訪問元素很快 但是插入和刪除就很慢 因為list是線性的 deque就是為了高效實現插入和刪除操作的雙向列表 適用於佇列和棧

>>>from collections import deque

>>>q=deque(['a','b','c'])

>>>q

deque(['y','a','b','c','x'])

defaultdict:使用dict如果引用的key 不存在就會丟擲keyerror 如果希望key不存在時 返回乙個預設的值 就可以使用defaultdict了

>>>form collections import defaultdict

>>>dd=defaultdict(lambda:'n/a')

>>>dd['key1']='abc'

>>>dd['key1']

'abc'

>>>dd['key2']

'n/a'

除了key不存在返回預設值 defaultdict其他的行為跟dict一樣

ordereddict: 使用dict key是無序的 在對dict做迭代的時候 我們無法確定key 的順序 如果要儲存key的順序 可以用ordereddict

>>>from collections import ordereddict

>>>d=dict([('a',1),('b',2),('c',3)])

>>>d

>>>od=ordereddict

([('a',1),('b',2),('c',3)])

>>>od

ordereddict

([('a',1),('b',2),('c',3)])

ordereddict 會按照key 的插入順序進行排序 而不是按照key本身進行排序

counter:乙個簡單的計數器 例如統計字元出現的個數

>>>from collections import counter

>>>c=counter()

>>>for ch in 'programming':

c[ch]=c[ch]+1

>>>c

counter()

2:base64

base64 是一種64個字元用來表示任意二進位制資料的方法

base64原理首先準備乙個包含64個字元的陣列  。然後對二進位制資料進行處理 沒3個位元組一組 一共24bit 劃分為4組 正好6bit 這樣我們就

得到4個數字作為索引號 然後查表 獲得相應的4個字元 這就是編碼後的字串 

base64會把3個位元組的二進位制資料編碼成4個位元組的文字資料 長度增加33% 好處是編碼後的文字資料可以在郵件正文和網頁中直接顯示

base64會在不足3的倍數的檔案資料後面用\x00位元組在末尾補足 再在編碼的末尾加上1個或者2個= 表示補了多少位元組 解碼的時候會自動去掉

python內建的base64 可以直接進行base64編碼

>>>import base64

>>>base64.b64encode('binary\x00string')

'ym..........................'

>>>base64.b64decode('ym.............')

'binary\x00string'

由於標準的base64可能會出現字元 + 和 / 在url中就不能直接作為引數 所以有一種 url safe 的base64編碼 其實就是把字元 + / 分別變為 - _

>>>base64.b64ecode('i\xb7\x1d\xfb\xef\xff')

'abcd++//'

>>>base64.urlsafe_b64encode(

'i\xb7\x1d\xfb\xef\xff')

'abcd--__'

python內建模組 Python 內建模組

內建模組 python有一套很有用的標準庫 standard library 標準庫會隨著python直譯器,一起安裝在你的電腦中的。它是python的 乙個組成部分。這些標準庫是python為你準備好的利器,可以讓程式設計事半功倍。常用標準庫 標準庫 說明 builtins 內建函式預設載入 os...

Python常用模組簡介 內建模組部分 1

模組分類 內建模組 第三方模組 自定義模組 這裡主要介紹內建模組,其中包括os模組,sys模組,time datetime模組,random模組,re模組 匯入 1 import 模組 2 from 模組 import 模組的乙個方法 os模組 包含與作業系統有關的方法 檢視 1 os.name 判...

Python內建模組

os.remove 刪除檔案 os.unlink 刪除檔案 os.rename 重新命名檔案 os.listdir 列出指定目錄下所有檔案 os.curdir 返回當前目錄 os.pardir 獲取當前目錄的父目錄字串名 os.chdir 改變當前工作目錄 os.getcwd 獲取當前檔案路徑 os...