為什麼學Python?一文看懂Python主要應用領域和就業前景

Python,是一種面向對象的解釋型計算機程序設計語言,由荷蘭人Guidovan Rossum於1989年發明,第一個公開發行版發行於1991年。

為什麼學Python?一文看懂Python主要應用領域和就業前景

Python是純粹的自由軟件,源代碼和解釋器CPython遵循GPL

(GNUGeneralPublicLicense)協議。Python語法簡潔清晰,特色之一是強制用空白符(whitespace)作為語句縮進。

Python具有豐富和強大的庫。它常被暱稱為膠水語言,能夠把用其他語言製作的各種模塊(尤其是C/C++)很輕鬆地聯結在一起。常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然後對其中有特別要求的部分,用更合適的語言改寫,比如3D遊戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而後封裝為Python可以調用的擴展類庫。需要注意的是在您使用擴展類庫時可能需要考慮平臺問題,某些可能不提供跨平臺的實現。

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的應用

  • 系統編程:提供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的應用場景

  • 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在人工智能大範疇領域內的機器學習、神經網絡、深度學習等方面都是主流的編程語言,得到廣泛的支持和應用。

為什麼學Python?一文看懂Python主要應用領域和就業前景


分享到:


相關文章: