近日,全球知名的程式語言流行度排行榜網站TIOBE宣布:Python成為2018年度程式語言。
這也是繼2010年後,時隔8年Python重登程式語言年度排行榜榜首。
TIOBE
Python之所以獲得這個稱號,是因為它在2018年的排名中比其他所有語言都高。 Python語言贏得了3.62%,其次是Visual Basic .NET和Java。
Python現在已經成為大型程式語言的一部分。
近20年來,C,C 和Java一直位居前三,遠遠領先其他產品。
現在,Python正在加入這三種語言,它是當今大學中最常被教授的第一語言,它在統計領域排名第一,在AI程式設計中排名第一,在編寫腳本時排名第一,在編寫系統測試時排名第一。除此之外,Python在Web程式設計和科學計算領域也處於領先地位。
總而言之,Python無所不在!
TIOBE年度程式語言(2009-2018)
據TIOBE稱,前10名的程式語言包括:
Java、C、Python、C 、Visual Basic .NE、JavaScript、C#、PHP、SQL和Objective-C。
TOP10程式語言指數走勢(2002-2019)
上圖可以看出,Python已經與C語言無限靠近,Python也逐漸打破Java、C、C 這三大語言的統治地位。
2019年1月程式語言排行
事實上,Python語言也憑藉其簡潔性、易讀性和可擴展性、可嵌入性及豐富的庫等深受開發者的歡迎與喜愛。
Python特點
#① Python使用C語言開發,但Python不再有C語言中的指標等複雜的資料型態。
② Python具有很強的物件導向特性,而且簡化了物件導向的實作。它消除了保護類型、抽象類別、介面等物件導向的元素。
③ Python程式碼區塊使用空格或製表符縮排的方式分隔程式碼。
④ Python只有31個保留字,而且沒有分號、begin、end等標記。
⑤ Python是強類型語言,變數創建後會對應一種資料類型,出現在統一表達式中的不同類型的變數需要做型別轉換。
Python搭建開發環境
① 可以到www.python.org下載安裝包,然後透過configure、make、makeinstall進行安裝。
② 也可以到activestate去下載ActivePython元件包。
對ActivePython來說,如果你是windows用戶,下載msi包安裝即可;如果你是Unix用戶,下載tar.gz包直接解壓縮。
③ 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應用程式場景
#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套件管理系統。
使用IronPython,Python程式能夠直接呼叫.NetFramework。
一般說來,Python編寫的系統管理腳本在可讀性、效能、程式碼重用度、擴充性幾方面都優於普通的shell腳本。
科學計算
#NumPy,SciPy,Matplotlib可以讓Python程式設計師編寫科學計算程式。
桌面軟體
PyQt、PySide、wxPython、PyGTK是Python快速開發桌面應用程式的利器。
伺服器軟體(網路軟體)
#Python對於各種網路協定的支援很完善,因此經常被用於編寫伺服器軟體、網路爬蟲。
第三方程式庫Twisted支援非同步網路程式設計和多數標準的網路協定(包含客戶端和伺服器),並且提供了多種工具,被廣泛用於編寫高效能的伺服器軟體。
遊戲
很多遊戲使用C 寫圖形顯示等高效能模組,而使用Python或Lua寫遊戲的邏輯、伺服器。相較於Python,Lua的功能更簡單、體積更小;而Python則支援更多的特性和資料類型。
Python應用方向
#常規軟體開發
Python支持函數式程式設計和OOP物件導向編程,能夠承擔任何種類軟體的開發工作,因此常規的軟體開發、腳本編寫、網頁程式設計等都屬於標配能力。
科學計算
#隨著NumPy,SciPy,Matplotlib,Enthoughtlibrarys等眾多程式庫的開發,Python越來越適合於做科學計算、繪製高品質的2D和3D影像。
和科學計算領域最受歡迎的商業軟體Matlab相比,Python是一門通用的程式設計語言,比Matlab所採用的腳本語言的應用範圍更廣泛,有更多的程式庫的支持。
雖然Matlab中的許多高級功能和toolbox目前還是無法取代的,不過在日常的科研開發之中仍然有很多的工作是可以用Python代勞的。
自動化運維
#這幾乎是Python應用的自留地,作為維運工程師首選的程式語言, Python在自動化維運方面已經深入人心,例如Saltstack和Ansible都是大名鼎鼎的自動化平台。
雲端運算
#開源雲端運算解決方案OpenStack就是基於Python開發的,搞雲端運算的同學都懂的。
Web開發
#基於Python的Web開發框架不要太多,例如耳熟能詳的Django,還有Tornado ,Flask。
其中的Python Django架構,應用範圍非常廣,開發速度非常快,學習門檻也很低,能夠幫助你快速的搭建起可用的WEB服務。
網路爬蟲
#也稱為網路蜘蛛,是大數據產業取得資料的核心工具。
沒有網路爬蟲自動地、不分晝夜地、高智慧地在網路上爬取免費的數據,那些大數據相關的公司恐怕要少四分之三。
能夠編寫網路爬蟲的程式語言有不少,但Python絕對是其中的主流之一,其Scripy爬蟲框架應用非常廣泛。
資料分析
#在大量資料的基礎上,結合科學計算、機器學習等技術,對數據進行清洗、去重、規格化和針對性的分析是大數據產業的基石。 Python是資料分析的主流語言之一。
人工智慧
Python在人工智慧大範疇領域內的機器學習、神經網路、深度學習等方面都是主流的編程語言,得到廣泛的支持與應用。
以上是8年後Python重登2018年度程式語言王座的詳細內容。更多資訊請關注PHP中文網其他相關文章!