干貨|Python學習必須精通的幾個模塊
定義
Python 模塊(Module),是一個 Python 文件,以 .py 結尾,包含了 Python 對象定義和Python語句。
模塊讓你能夠有邏輯地組織你的 Python 代碼段。
把相關的代碼分配到一個模塊里能讓你的代碼更好用,更易懂。
模塊能定義函數,類和變量,模塊里也能包含可執行的代碼。
那廢話不多說,給大家帶來幾個必須學會的python模塊吧。
re
- re的matche方法和search方法
- re的split,findall,finditer方法
re.split(pattern, string[, maxsplit])
按照能夠匹配的子串將string分割后返回列表。maxsplit用于指定***分割次數,不指定將全部分割。
re.findall(pattern, string[, flags])
搜索string,以列表形式返回全部能匹配的子串
re.finditer(pattern, string[, flags])
搜索string,返回一個順序訪問每一個匹配結果(Match對象)的迭代器
collections
- namedtuple
namedtuple是一個函數,它用來創建一個自定義的tuple對象,并且規定了tuple元素的個數,并可以用屬性而不是索引來引用tuple的某個元素。
這樣一來,我們用namedtuple可以很方便地定義一種數據類型,它具備tuple的不變性,又可以根據屬性來引用,使用十分方便。
- deque
使用list存儲數據時,按索引訪問元素很快,但是插入和刪除元素就很慢了,因為list是線性存儲,數據量大的時候,插入和刪除效率很低。
deque是為了高效實現插入和刪除操作的雙向列表,適合用于隊列和棧:
- defaultdict
使用dict時,如果引用的Key不存在,就會拋出KeyError。如果希望key不存在時,返回一個默認值,就可以用defaultdict:
functools
- partial函數
partial函數可以重新綁定函數的可選參數,生成一個callable的partial對象:
- update_wrapper函數
update_wrapper函數可以把被封裝函數的__name__、__module__、__doc__和 __dict__都復制到封裝函數去:
- wraps函數
wraps函數將update_wrapper也封裝了進來: