天天看點

Python 常用子產品介紹

作者:趣學Python
Python 常用子產品介紹

前言

python發展了很多年,有非常豐富的标準庫子產品,選擇合适的标準庫子產品既可以降低工作量,還能簡化代碼量。

必須了解的标準庫子產品方法整理如下:

  • atexit 運作的程式在退出時調用的函數
  • argparse 提供了指令行參數解析功能
  • bisect 可為排序清單提供二分查找算法
  • calendar 提供一組與日期有關的函數
  • codecs 提供編解碼資料的函數
  • collections提供一組有用的資料結構
  • copy 提供複制資料的函數
  • csv 提供用于讀寫csv檔案函數
  • datetime 提供用于處理日期的和時間的類
  • fnmatch 提供用于比對unix風格檔案模式比對函數
  • concurrent 提供并發的模式常用函數
  • glob 提供用于比對unix風格的路徑子產品
  • io提供用于處理I/O流的函數
  • json 預設的json庫
  • logging 預設的日志庫
  • multiprocessing 多程序中常用的工具函數庫
  • operator 提供各種運算符的功能函數,比寫lambda簡單了很多
  • os 提供作業系統的函數方法
  • random預設生成随機數的函數
  • re 提供正規表達式功能
  • sched 提供一個無須多線程的事件排程器
  • select 提供對函數select()和poll()的通路,建立事件循環
  • shutil提供進階檔案處理的函數通路
  • signal 處理POSIX信号處理
  • tempfile 提供用于建立臨時檔案和目錄的函數
  • threading 提供進階線程的功能
  • urllib 提供處理url解析的各種函數
  • uuid 生成全局唯一的uuid辨別

除了标準庫以外日常編碼疊代優化相關庫還有itertools

使用itertools針對疊代有非常好的性能優化和記憶體使用優化,提升處理海量資料效率,是以單獨拿出來推薦。

itertools,是python的一個内置子產品,功能強大,主要用于高效循環建立疊代器。注意一點,他傳回的不是list,而是iterator。

  • 無限疊代器:count,cycle,repeat
Python 常用子產品介紹

count示例

  • 有限疊代器:chain,groupby,accumulate
Python 常用子產品介紹

把疊代器中相鄰的重複元素挑出來放在一起

  • 組合疊代器:product,permutations,combinations
Python 常用子產品介紹

傳回p中任意取r個元素做排列的元組的疊代器

總結

工欲善其事,必先利其器,python的各種标準庫和常用用法是寫好python的基礎,最好每個子產品都手動敲下,日常多用用對于了解python和寫好python會有非常大的幫助。