什麼是模組?
1 使用python編寫的**(.py檔案)
2 已被編譯為共享庫或dll的c或c++擴充套件
3 包好一組模組的包
4 使用c編寫並鏈結到python直譯器的內建模組
為何要使用模組?
1.方便管理
2.重複利用
collections模組
在內建資料型別(dict、list、set、tuple)的基礎上,collections模組還提供了幾個額外的資料型別:counter、deque、defaultdict、namedtuple和ordereddict等。
1.namedtuple: 生成可以使用名字來訪問元素內容的tuple
>>> from collections import namedtuple2.deque: 雙端佇列,可以快速的從另外一側追加和推出物件>>> point = namedtuple('point', ['x', 'y'])
>>> p = point(1, 2)
>>> p.x
1>>> p.y
2
>>> from collections import deque3.counter: 計數器,主要用來計數>>> q = deque(['a', 'b', 'c'])
>>> q
deque(['y', 'a', 'b', 'c', 'x'])
c = counter('abcdeabcdabcaba')4.ordereddict: 有序字典print c
輸出:counter()
>>> from collections import ordereddict5.defaultdict: 帶有預設值的字典>>> d = dict([('a', 1), ('b', 2), ('c', 3)])
>>> d # dict的key是無序的
>>> od = ordereddict([('a', 1), ('b', 2), ('c', 3)])
>>> od # ordereddict的key是有序的
ordereddict([('a', 1), ('b', 2), ('c', 3)])
注意:dict中的key是按照插入順序排序,而不是按照key本身排序
有如下值集合 [
11
,
22
,
33
,
44
,
55
,
66
,
77
,
88
,
99
,
90.
..],將所有大於
66
的值儲存至字典的第乙個key中,將小於
66
的值儲存至第二個key的值中。
即:
from collections import defaultdictvalues = [11, 22, 33,44,55,66,77,88,99,90]
my_dict = defaultdict(list)
for value in values:
if value>66:
else:
時,如果引用的key不存在,就會丟擲
keyerror
。如果希望key不存在時,返回乙個預設值,就可以用defaultdict
:
>>> from collections import defaultdict>>> dd = defaultdict(lambda: 'n/a')
>>> dd['key1'] = 'abc'
>>> dd['key1'] # key1存在
'abc'
>>> dd['key2'] # key2不存在,返回預設值
'n/a'
re模組
re模組和正規表示式的關係,類似於time模組跟時間的關係
正規表示式和python本身沒有關係,它是處理字串內容的一種規則。
官方定義:正規表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成乙個「規則字串」,這個「規則字串」用來表達對字串的一種過濾邏輯。常用匹配模式:
常用模組 re模組
由堆具有特殊意義的字元組成的式子。用於匹配查詢字串內容。主要學習重點,就是學習這些字元的含義。abc 表示式不包含任何特殊字元,就是精準匹配,說白了判斷是否相同 print re.findall abc abcbbb abc n t f 符號含義 a從字元的開始處開始匹配 z從字元的結尾處匹配 從字...
常用模組 xml模組
格式 也是一種通用的資料格式 之所以用它是因為塊平台性。一 任何的起始標籤都必須有 乙個結束標籤。二 可以採用另一種簡化語法,可以在乙個標籤中同時表示起始和結束標 籤。這種語法是在 於符號之前緊跟乙個斜線 xml 三 標籤必須按合適的順序進 行 巢狀,所以結束標籤必須按映象順序匹配 起始標籤。這好 ...
常用模組 pickle模組
import pickle name msj age 25height 184user 記憶體中資料 pickle模組是乙個用來序列化的模組。指的是將記憶體中的資料結構轉為一種中間格式,並儲存在硬碟上。將硬碟上儲存的中間格式檔案還原成記憶體中的資料結構。就是為了將資料永久儲存,之前學過檔案也能完成永...