十三:常見內建模組:
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...