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的應用
1. Web開發
儘管今天PHP依然是Web開發的流行語言,但Python上升勢頭更勁。隨著Python的Web開發框架逐漸成熟,比如耳熟能詳的Django和flask, 你可以快速地開發功能強大的Web應用。小編我首推Django,強烈建議所以有志於從事Python Web開發的人掌握這門框架。無論是建大型網站,開發OA或Web API,Django都可以輕鬆勝任。
2. 網絡爬蟲
多虧有了Python,一個小白用幾行代碼就可以寫個爬蟲爬段子爬福利圖了。然而爬蟲的真正作用是從網絡上獲取有用的數據或信息,可以節省大量人工時間。能夠編寫網絡爬蟲的程式語言有不少,但Python絕對是其中的主流之一。Python自帶的urllib庫,第三方的requests庫和Scrappy框架讓開發爬蟲變得非常容易。
3. 計算與數據分析
隨著NumPy,SciPy,Matplotlib等眾多程序庫的開發和完善,Python越來越適合於做科學計算和數據分析了。它不僅支持各種數學運算,還可以繪製高質量的2D和3D圖像。和科學計算領域最流行的商業軟體Matlab相比,Python比Matlab所採用的腳本語言的應用範圍更廣泛,可以處理更多類型的文件和數據。
4. 人工智慧
當前最熱工資最高的IT工作就是從事人工智慧領域的工程師了。Python在人工智慧大範疇領域內的機器學習、神經網絡、深度學習等方面都是主流的程式語言,得到廣泛的支持和應用。最流行的神經網絡框架如Facebook的PyTorch和Google的TensorFlow都採用了Python語言。你不學Python, 你會用那些框架嗎?
5. 自動化運維
這幾乎是Python應用的自留地,作為運維工程師首選的程式語言。在很多作業系統里,Python是標準的系統組件。大多數Linux發行版和MacOSX都集成了Python,可以在終端下直接運行Python。Python標準庫包含了多個調用作業系統功能的庫。通過pywin32這個第三方軟體包,Python能夠訪問Windows的COM服務及其它WindowsAPI。使用IronPython,Python程序能夠直接調用.NetFramework。一般說來,Python編寫的系統管理腳本在可讀性、性能、代碼重用度、擴展性幾方面都優於普通的shell腳本。
6.雲計算
Python的最強大之處在於模塊化和靈活性,而構建雲計算的平台的IasS服務的OpenStack就是採用Python的,雲計算的其他服務也都是在IasS服務之上的。
7. 網絡編程
Python提供了豐富的模塊支持sockets編程,能方便快速地開發分布式應用程式。很多大規模軟體開發計劃例如Zope,Mnet, BitTorrent和Google都在廣泛地使用它。
8. 遊戲開發
很多遊戲使用C++編寫圖形顯示等高性能模塊,而使用Python或者Lua編寫遊戲的邏輯、伺服器。相較於Python,Lua的功能更簡單、體積更小,然而Python則支持更多的特性和數據類型。Python的PyGame庫也可用於直接開發一些簡單遊戲。
9.黑客編程:
python有一個hack的庫,內置了你熟悉的或不熟悉的函數,但是缺少成就感。
通過上面這三句就可以將URL的源碼存在content變量中,其類型為字符型。
接下來是要從這堆HTML源碼中提取我們需要的內容。用Chrome查看一下對應的內容的代碼(也可以用Firefox的Firebug)。
可以看到url的信息存儲在span標籤中,要獲取其中的信息可以用正則式。
Python的應用場景
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在人工智慧大範疇領域內的機器學習、神經網絡、深度學習等方面都是主流的程式語言,得到廣泛的支持和應用。
到訪人數:(79)