Python正在成為時下最好最熱門的數據挖掘、數據分析的編程語言。Python的的標準庫又是Python學習中的重中之重。來看一下有哪些一定要學的Python標準庫,有哪些建議學的Python第三方庫(第三方框架)。這些標準庫和第三方庫一定會成為你學習Python路上的得力助手!
必學標準庫
什麼是標準庫?就是Python語言自帶的一些函數庫。裝好Python環境就能直接用的庫。
- itertools: itertools提供了Python中操作迭代對象的絕佳函數,官方網站為http://docs.python.org/2/library/itertools.html,強烈推薦!!!
- functools: functools提供了Python中操作的工具函數,官方網站為http://docs.python.org/2/library/functools.html,強烈推薦!!!學好python絕對有必要掌握上面這兩個庫。
- re: 正則表達式的庫,對於需要接觸正則匹配的人來說必備。
- subprocess: 進程庫,官方網站為http://docs.python.org/2/library/subprocess.html,可以用它很方便地調用shell命令。
- pdb: 用來調試。
- traceback: 調試。
- pprint: 可以用它打印出漂亮的輸出。
- logging: 日誌庫。
- threading和multiprocessing: 多線程庫,雖然Python由於GIL的原因,多線程不能發揮很好的作用,但是這兩個庫對於併發編程人員來說也是必不可少的
- urllib/urllib2/httplib: http庫,httplib底層一點,推薦第三方的庫requests。這幾個庫是徒手寫爬蟲的人員必備的。
- os/sys: 系統,環境相關的庫。可以用它來獲取一些系統相關的變量和操作做。
- Queue: 隊列,有了它就不需要自己徒手實現隊列功能了。
- pickle/cPickle: 序列化工具。
- hashlib: md5, sha等hash算法。
- cvs: 這個不用說了,操作csv文件的。
- json/simplejson: python的json庫,據so上的討論和benchmark,simplejson的性能要高於json。
- timeit: 計算代碼運行的時間等等。
- cProfile: python性能測量模塊。
- glob: 類似於listfile,可以用來查找文件。
- atexit: 有一個註冊函數,可用於正好在腳本退出運行前執行一些代碼。
- dis: python 反彙編,當對某條語句不理解原理時,可以用dis.dis 函數來查看代碼對應的python 解釋器指令等等。
學好上面這些標準庫,就已經可以說掌握Python了。那有哪些第三方庫可以豐富我們日常Python編程場景的庫呢?
必學第三方庫
- paramiko: python的ssh庫,官方網站為https://github.com/paramiko/paramiko。
- selenium: 瀏覽器自動化測試工具selenium的python接口,是自動化測試人員必學的第三方庫,也是Python爬蟲人員必學的庫,官方網站為https://pypi.python.org/pypi/selenium。
- lxml: python 解析html,xml 的神器,官方網站為http://lxml.de/。
- mechanize: Stateful programmatic web browsing,官方網站為https://pypi.python.org/pypi/mechanize/。
- pycurl: python環境下的curl。cURL library module for Python,官方網站為https://pypi.python.org/pypi/pycurl。
- Fabric: Fabric is a Python (2.5 or higher) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.官方網站為http://docs.fabfile.org/en/1.8/。
- xmltodict: xml 轉 dict,真心好用。官方網站為https://github.com/martinblech/xmltodict。
- urllib3 和 requests: 當然其實requests就夠了 Requests: HTTP for Humans。
- flask: python web 微框架http://flask.pocoo.org/。
- ipdb: 調試神器,同時推薦ipython!結合ipython使用。
- redis: redis python接口。這個自然不必說了,web編程人員必備。
- pymongo: mongodbpython接口。這個自然不必說了,web編程人員必備。
- PIL: python圖像處理,官方網站為http://www.pythonware.com/products/pil/。
- mako: python模版引擎,官方網站為http://www.makotemplates.org/
- numpy, scipy: 科學計算庫,人工智能/機器學習/數據挖掘人員必備。
- matplotlib: 畫圖的庫,科研人員必備,寫論文作圖的好幫手!
- scrapy: python最流行的爬蟲框架!
- django/tornado/web.py/web2py/uliweb/flask/twisted/bottle/cherrypy.等等 python web框架/服務器。
- sh: 1.08 — sh v1.08 documentation 用來運行shell 模塊的 極佳選擇。
上面這些標準庫和第三方庫都學會的話,可以去面試任何一家公司的職位了!
閱讀更多 程序猿架構 的文章