天天看點

Python使用場景和應用領域

基于Python的強大,它在1.正常軟體開發,2.科學計算,3.自動化運維,4.雲計算,5.WEB開發,6.網絡爬蟲,7.資料分析,8.人工智能這些場景領域都有很好的應用。

Python特點

  1、Python使用C語言開發,但是Python不再有C語言中的指針等複雜的資料類型。

  2、Python具有很強的面向對象特性,而且簡化了面向對象的實作。它消除了保護類型、抽象類、接口等面向對象的元素。

  3、Python代碼塊使用空格或制表符縮進的方式分隔代碼。

  4、Python僅有31個保留字,而且沒有分号、begin、end等标記。

  5、Python是強類型語言,變量建立後會對應一種資料類型,出現在統一表達式中的不同類型的變量需要做類型轉換。

Python搭建開發環境

  1、可以到www.python.org下載下傳安裝包,然後通過configure、make、makeinstall進行安裝。

  2、也可以到www.activestate.com去下載下傳ActivePython元件包。(ActivePython是對Python核心和常用子產品的二進制包裝,它是ActiveState公司釋出的Python開發環境。ActivePython使得Python的安裝更加容易,并且可以應用在各種作業系統上。ActivePython包含了一些常用的Python擴充,以及Windows環境的程式設計接口)。對ActivePython來說,如果你是windows使用者,下載下傳msi包安裝即可;如果你是Unix使用者,下載下傳tar.gz包直接解壓即可。

  3、Python的IDE,包括PythonWin、Eclipse+PyDev插件、Komodo、EditPlus。

Python使用場景和應用領域

Python的應用

  系統程式設計:提供API(ApplicationProgrammingInterface應用程式程式設計接口),能友善進行系統維護和管理,Linux下标志性語言之一,是很多系統管理者理想的程式設計工具。

  圖形處理:有PIL、Tkinter等圖形庫支援,能友善進行圖形處理。

  數學處理:NumPy擴充提供大量與許多标準數學庫的接口。

  文本處理:python提供的re子產品能支援正規表達式,還提供SGML,XML分析子產品,許多程式員利用python進行XML程式的開發。

  資料庫程式設計:程式員可通過遵循PythonDB-API(資料庫應用程式程式設計接口)規範的子產品與MicrosoftSQLServer,Oracle,Sybase,DB2,MySQL、SQLite等資料庫通信。python自帶有一個Gadfly子產品,提供了一個完整的SQL環境。

  網絡程式設計:提供豐富的子產品支援sockets程式設計,能友善快速地開發分布式應用程式。很多大規模軟體開發計劃例如Zope,Mnet及BitTorrent.Google都在廣泛地使用它。

  Web程式設計:應用的開發語言,支援最新的XML技術。

  多媒體應用:Python的PyOpenGL子產品封裝了“OpenGL應用程式程式設計接口”,能進行二維和三維圖像處理。PyGame子產品可用于編寫遊戲軟體。

  pymo引擎:PYMO全稱為pythonmemoriesoff,是一款運作于SymbianS60V3,Symbian3,S60V5,Symbian3,Android系統上的AVG遊戲引擎。因其基于python2.0平台開發,并且适用于建立秋之回憶(memoriesoff)風格的AVG遊戲,故命名為PYMO。

  黑客程式設計:python有一個hack的庫,内置了你熟悉的或不熟悉的函數,但是缺少成就感。

  用Python寫簡單爬蟲

  通過上面這三句就可以将URL的源碼存在content變量中,其類型為字元型。

  接下來是要從這堆HTML源碼中提取我們需要的内容。用Chrome檢視一下對應的内容的代碼(也可以用Firefox的Firebug)。

  可以看到url的資訊存儲在span标簽中,要擷取其中的資訊可以用正則式。

Python使用場景和應用領域

Python應用場景

  Web應用開發

  Python經常被用于Web開發。比如,通過mod_wsgi子產品,Apache可以運作用Python編寫的Web程式。Python定義了WSGI标準應用接口來協調Http伺服器與基于Python的Web程式之間的通信。一些Web架構,如Django,TurboGears,web2py,Zope等,可以讓程式員輕松地開發和管理複雜的Web程式。

  作業系統管理、伺服器運維的自動化腳本

  在很多作業系統裡,Python是标準的系統元件。大多數Linux發行版以及NetBSD、OpenBSD和MacOSX都內建了Python,可以在終端下直接運作Python。有一些Linux發行版的安裝器使用Python語言編寫,比如Ubuntu的Ubiquity安裝器,RedHatLinux和Fedora的Anaconda安裝器。GentooLinux使用Python來編寫它的Portage包管理系統。Python标準庫包含了多個調用作業系統功能的庫。通過pywin32這個第三方軟體包,Python能夠通路Windows的COM服務及其它WindowsAPI。使用IronPython,Python程式能夠直接調用.NetFramework。一般說來,Python編寫的系統管理腳本在可讀性、性能、代碼重用度、擴充性幾方面都優于普通的shell腳本。

  科學計算

  NumPy,SciPy,Matplotlib可以讓Python程式員編寫科學計算程式。

  桌面軟體

  PyQt、PySide、wxPython、PyGTK是Python快速開發桌面應用程式的利器。

  伺服器軟體(網絡軟體)

  Python對于各種網絡協定的支援很完善,是以經常被用于編寫伺服器軟體、網絡爬蟲。第三方庫Twisted支援異步網絡程式設計和多數标準的網絡協定(包含用戶端和伺服器),并且提供了多種工具,被廣泛用于編寫高性能的伺服器軟體。

  遊戲

  很多遊戲使用C++編寫圖形顯示等高性能子產品,而使用Python或者Lua編寫遊戲的邏輯、伺服器。相較于Python,Lua的功能更簡單、體積更小;而Python則支援更多的特性和資料類型。

  構思實作,産品早期原型和疊代

  YouTube、Google、Yahoo!、NASA都在内部大量地使用Python。

Python的應用方向

  1.正常軟體開發

  Python支援函數式程式設計和OOP面向對象程式設計,能夠承擔任何種類軟體的開發工作,是以正常的軟體開發、腳本編寫、網絡程式設計等都屬于标配能力。

  2.科學計算

  随着NumPy,SciPy,Matplotlib,Enthoughtlibrarys等衆多程式庫的開發,Python越來越适合于做科學計算、繪制高品質的2D和3D圖像。和科學計算領域最流行的商業軟體Matlab相比,Python是一門通用的程式設計語言,比Matlab所采用的腳本語言的應用範圍更廣泛,有更多的程式庫的支援。雖然Matlab中的許多進階功能和toolbox目前還是無法替代的,不過在日常的科研開發之中仍然有很多的工作是可以用Python代勞的。

  3.自動化運維

  這幾乎是Python應用的自留地,作為運維工程師首選的程式設計語言,Python在自動化運維方面已經深入人心,比如Saltstack和Ansible都是大名鼎鼎的自動化平台。

  4.雲計算

  開源雲計算解決方案OpenStack就是基于Python開發的,搞雲計算的同學都懂的。

  5.WEB開發

  基于Python的Web開發架構不要太多,比如耳熟能詳的Django,還有Tornado,Flask。其中的Python+Django架構,應用範圍非常廣,開發速度非常快,學習門檻也很低,能夠幫助你快速的搭建起可用的WEB服務。

  6.網絡爬蟲

  也稱網絡蜘蛛,是大資料行業擷取資料的核心工具。沒有網絡爬蟲自動地、不分晝夜地、高智能地在網際網路上爬取免費的資料,那些大資料相關的公司恐怕要少四分之三。能夠編寫網絡爬蟲的程式設計語言有不少,但Python絕對是其中的主流之一,其Scripy爬蟲架構應用非常廣泛。

  7.資料分析

  在大量資料的基礎上,結合科學計算、機器學習等技術,對資料進行清洗、去重、規格化和針對性的分析是大資料行業的基石。Python是資料分析的主流語言之一。

  8.人工智能

  Python在人工智能大範疇領域内的機器學習、神經網絡、深度學習等方面都是主流的程式設計語言,得到廣泛的支援和應用。