python編程是啥
創(chuàng)新互聯(lián)建站10多年企業(yè)網(wǎng)站建設(shè)服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及高端網(wǎng)站定制服務(wù),企業(yè)網(wǎng)站建設(shè)及推廣,對成都履帶攪拌車等多個行業(yè)擁有多年的網(wǎng)站設(shè)計經(jīng)驗的網(wǎng)站建設(shè)公司。
python編程是啥,Python是一種代表簡單主義思想的語言,Python崛起更加符合開發(fā)者的習(xí)慣和口味。下面我給大家分享一下關(guān)于python編程是啥的相關(guān)信息。
python編程是啥1
編程語言領(lǐng)域Python成為了一個耀眼的新星,Python崛起的原因與其本身特點有關(guān),也許它是更加符合開發(fā)者的習(xí)慣和口味。現(xiàn)在有一種聲音說Python將會超越Java成全球最流行編程語言。
這些年,編程語言的發(fā)展進程很快,在商業(yè)公司、開源社區(qū)兩股力量的共同推動下,涌現(xiàn)出諸如Go、Swift這類后起之秀,其中最為耀眼的是Python。
知名開發(fā)者網(wǎng)站Stackoverflow撰文指出,從2012至2017年編程語言Python成為開發(fā)者使用增長最快的主流編程語言,其中2017年增長率達到了27%,一舉超過包括Java、C#、PHP、C++在內(nèi)的所有同類。另據(jù)高盛集團發(fā)布的一份《2017調(diào)查報告》針對全球數(shù)千名高校實習(xí)生的調(diào)查中,當(dāng)問到你認(rèn)為“哪個語言在未來會更重要”時,被調(diào)查的80、90后優(yōu)秀年輕開發(fā)者中72%選了Python。
語言的使用者是一直被譽為業(yè)界上游“源頭活水”的開發(fā)者,其重要程度從各大科技巨頭公司每年例行召開的開發(fā)者大會上可見一斑。對于開發(fā)者群體而言最重要的事物有兩個,一是平臺,二就是編程語言。編程語言Python為什么能夠獲得全球眾多開發(fā)者的青睞?它的崛起給開發(fā)者世界帶來了什么變化?
成功的一半源于好的開始
在主流編程語言當(dāng)中,Python并不是一個“新人”,它的歷史超過25年,但真正風(fēng)靡之時卻是最近幾年,所以“后起之秀”的稱呼實至名歸。Python的起源是19 89年,其發(fā)明者荷蘭人程序員吉多范羅蘇姆受ABC語言的啟發(fā)計劃開發(fā)一個新的腳本解釋器,由此邁出了Python項目的起點。
Python能夠真正風(fēng)靡的原因之一是有一個好的起點。它的起步很穩(wěn),避開了版權(quán)糾紛,且搭上了開源運動的順風(fēng)車。在那個年代,商業(yè)版權(quán)一直是熱門 事件,業(yè)界史上第一個軟件領(lǐng)域重大官司ATT和伯克利BSD的Unix版權(quán)案打得天昏地暗,該案的結(jié)局直接促成了BSD的開源分支、Linux的誕生以及震驚世界的自由軟件運動。
Python最初的版權(quán)歸屬是CWI(阿姆斯特丹的國家數(shù)學(xué)與計算機科研學(xué)會),這與吉多早年在該機構(gòu)工作有關(guān),后來吉多受雇于CNRI(維吉尼亞州的國家創(chuàng)新研究公司),Python權(quán)屬轉(zhuǎn)移至此。那時自由軟件運動已經(jīng)開始,在CNRI期間發(fā)布的1.6至2.1多個版本的`Python許可證是一種與GPL并不兼容且類似于BSD的開源許可,CNRI因受到自由軟件基金會的壓力釋放了Python的原許可證,吉多由此掌握了主導(dǎo)權(quán)并起草了新的許可證。他改變了原許可證與GPL的不兼容,此舉獲得了自由軟件基金會頒發(fā)的自由軟件進步獎。再后來吉多和他的團隊成立了Python軟件基金會,將版權(quán)與許可證置于其下。
創(chuàng)始人吉多范羅蘇姆的心思縝密與靈活處事為Python最初的發(fā)展?fàn)I造了良好的環(huán)境,包括幾次權(quán)屬的轉(zhuǎn)移、起草新的許可證、機智地與自由軟件陣營斡旋,最后安全融入開源的大潮。這一切為Python此后十多年里逐漸成長為主流編程語言贏得了契機。
“人生苦短,我用Python”并非一句戲言
Python崛起的原因之二與其本身特點有關(guān),或者說,其長期維護演進形成的獨特風(fēng)格迎合了大多數(shù)開發(fā)者的口味。在開發(fā)者社群流行著一句玩笑“人生苦短,我用Python”(原話為” Life is short, you need Python”),這句看似戲言的話實際上恰恰反映了Python的語言特性與其在開發(fā)者心里的價值分量。
除了包涵大多數(shù)主流編程語言的優(yōu)點(面向?qū)ο?、語法豐富)之外,Python的直觀特點是簡明優(yōu)雅、易于開發(fā),用盡量少的代碼完成更多工作。盡管Python是一種解釋型語言,與傳統(tǒng)的編譯型語言相比降低了機器執(zhí)行效率,但是處理器的處理速率與環(huán)境速率(比如網(wǎng)絡(luò)環(huán)境)的差異在大多數(shù)場景中完全抵消了上述代價;犧牲部分運行效率帶來的好處則是提升了開發(fā)效率,在跨平臺的時候無需移植和重新編譯。 所以Python的顯著優(yōu)點在于速成,對于時間短、變化快的需求而言尤為勝任。
Python最強大的地方體現(xiàn)在它的兩個外號上,一個叫“內(nèi)置電池”,另一個是“膠水語言”。前者的意思是,Python官方本身提供了非常完善的標(biāo)準(zhǔn)代碼庫,包括針對網(wǎng)絡(luò)編程、輸入輸出、文件系統(tǒng)、圖形處理、數(shù)據(jù)庫、文本處理等等。代碼庫相當(dāng)于已經(jīng)編寫完成打包供開發(fā)者使用的代碼集合,程序員只需通過加載、調(diào)用等操作手段即可實現(xiàn)對庫中函數(shù)、功能的利用,從而省去了自己編寫大量代碼的過程,讓編程工作看起來更像是在“搭積木”。除了內(nèi)置庫,開源社區(qū)和獨立開發(fā)者長期為Python貢獻了豐富大量的第三方庫,其數(shù)量遠超其他主流編程語言,可見Python的語言生態(tài)已然相當(dāng)壯大。
“膠水語言”是Python的另一個亮點。Python本身被設(shè)計成具有可擴展性,它提供了豐富的API和工具,以便開發(fā)者能夠輕松使用包括C、C++等主流編程語言編寫的模塊來擴充程序。就像使用膠水一樣把用其他編程語言編寫的模塊粘合過來,讓整個程序同時兼?zhèn)淦渌Z言的優(yōu)點,起到了黏合劑的作用。正是這種多面手的角色讓Python近幾年在開發(fā)者世界中名聲鵲起,因為互聯(lián)網(wǎng)與移動互聯(lián)時代的需求量急速倍增,大量開發(fā)者亟需一種極速、敏捷的工具來助其處理與日俱增的工作,Python發(fā)展至今的形態(tài)正好滿足了他們的愿望。
Python的影響
從兩個著名編程語言排行網(wǎng)站TIOBE和PYPL的最新數(shù)據(jù)來看,Java與Python的排名分別位于第1和第5、第1和第2。關(guān)于兩個網(wǎng)站的排行機制我們不得而知,但從開發(fā)者社群的相關(guān)評論中可以認(rèn)為PYPL更能反映編程語言在開發(fā)者群體中的流行程度。不論如何,Python的崛起已是毋庸置疑的事實,而它上面的前輩則是常年占據(jù)榜單第1,互聯(lián)網(wǎng)與移動時代的嬌子Java。從Stackoverflow和多個開源社區(qū)公開的數(shù)據(jù)來看,Python的用戶數(shù)量增長很快,在今后兩年超過Java成為全球最流行編程語言的可能性非常之高。
值得一提的是,那些頗有影響力的主流編程語言,其背后一般都站著科技巨頭公司,比如Java之于甲骨文、C#之于微軟、ObjecTIve-C之于蘋果。Java之所以常年第一是因為其同時還幾乎是安卓平臺的御用語言,以及受益于Sun時代影響力的眷顧。Python雖曾一度為谷歌使用,但Go語言問世后隨著時間推移或?qū)⒂隼?。也就是說,Python成了沒有巨頭站隊的主流編程語言,那么它的影響力是如何維系的?為什么還能夠保持高速成長并形成趕超Java之勢?
我們認(rèn)為這與Python多年來實現(xiàn)較好案例與范用性有關(guān)。使用Python開發(fā)的知名案例中,包括豆瓣、果殼、知乎、Dropbox、EVE(星戰(zhàn)前夜)每一個都是重量級產(chǎn)品,這說明Python語言本身的發(fā)展已日臻完善,有著極高的穩(wěn)定與可靠性保證。第二是Python的應(yīng)用范圍,除了日常工具和腳本之外,還適用于Web程序、GUI開發(fā)、操作系統(tǒng)中間件、服務(wù)端運維等等,這些年P(guān)ython的一些第三方庫在機器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)方面活躍非凡,這也為語言本身的推廣和流行加分不少。
最后需要指出的是,Python編程思想包含強烈的黑箱思維,這意味著開發(fā)者將愈加重視模塊化和流水線式的編程工作,事實上這也是未來主流編程語言的發(fā)展趨向。隨著計算機語言的演化和開發(fā)工具集成功能日趨強大,未來的編程工作將大幅簡化。從某種角度看,Python更像是已經(jīng)“邁入未來”的編程語言,其對開發(fā)者群體結(jié)構(gòu)變化,以及新進開發(fā)者數(shù)量的激增,這些影響都將是深遠的。
python編程是啥2
python的作用:
1、系統(tǒng)編程:提供API(ApplicationProgramming
Interface應(yīng)用程序編程接口),能方便進行系統(tǒng)維護和管理,Linux下標(biāo)志性語言之一,是很多系統(tǒng)管理員理想的編程工具。
2、圖形處理:有PIL、Tkinter等圖形庫支持,能方便進行圖形處理。
3、數(shù)學(xué)處理:NumPy擴展提供大量與許多標(biāo)準(zhǔn)數(shù)學(xué)庫的接口。
4、文本處理:python提供的re模塊能支持正則表達式,還提供SGML,XML分析模塊,許多程序員利用python進行XML程序的開發(fā)。
5、數(shù)據(jù)庫編程:程序員可通過遵循PythonDB-API(數(shù)據(jù)庫應(yīng)用程序編程接口)規(guī)范的模塊與MicrosoftSQL Server,Oracle,Sybase,DB2,MySQL、SQLite等數(shù)據(jù)庫通信。python自帶有一個Gadfly模塊,提供了一個完整的SQL環(huán)境。
擴展資料:
python中文就是蟒蛇的意思。在計算機中,它是一種編程語言。Python(英語發(fā)音:/paθn/),是一種面向?qū)ο?、解釋型計算機程序設(shè)計語言,由GuidovanRossum于19 89年底發(fā)明,第一個公開發(fā)行版發(fā)行于1991年。Python語法簡潔而清晰,具有豐富和強大的類庫。
它常被昵稱為膠水語言,它能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結(jié)在一起。常見的一種應(yīng)用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然后對其中有特別要求的部分,用更合適的語言改寫。
比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C++重寫。1發(fā)展歷程編輯自從20世紀(jì)90年代初Python語言誕生至今,它逐漸被廣泛應(yīng)用于處理系統(tǒng)管理任務(wù)和Web編程。Python已經(jīng)成為最受歡迎的程序設(shè)計語言之一。
python編程是啥3
零基礎(chǔ)學(xué)python 要花多長時間?
答案:兩天!別不信,聽我細細道來
如何兩天學(xué)會python 編程入門基礎(chǔ)課程?
月31-9月1日,艾威培訓(xùn)再次走進知名電子公司—明導(dǎo)國際,為其展開2天的Python入門課程。
明導(dǎo)國際(MentorGraphics)是一家從事電子設(shè)計自動化的跨國公司。于1981年創(chuàng)立。其總部位于美國俄勒岡州的威爾森維爾(Wilsonville)。
艾威國際培訓(xùn)(Avtech Institute of Technology),源于美國,始于1998.專業(yè)從事企業(yè)級在職人員技能提升項目管理、IT管理、IT技術(shù)、云計算大數(shù)據(jù)、需求管理、信息安全與審計,產(chǎn)品管理、python編程入門等培訓(xùn)與各類國際認(rèn)證考試提供商。進入中國16年來,已成為眾多500強企業(yè)(惠普、華為、惠普、戴爾、IBM、中興、飛利浦等)指定的培訓(xùn)供應(yīng)商。
Python編程入門課程非常適合零基礎(chǔ)的學(xué)生,不受行業(yè)限制,屬于python認(rèn)證的初級階段課程。
艾威培訓(xùn)根據(jù)明導(dǎo)電子的需求定制了兩天的python培訓(xùn)課程。其主要內(nèi)容包括語法基礎(chǔ)、Python程序流程控制、Python數(shù)據(jù)結(jié)構(gòu)、Python函數(shù)等初級階段的內(nèi)容。
艾威培訓(xùn)python 5年以上資深講師用課堂理論+實驗的方式為明導(dǎo)國際培訓(xùn)員工的python初級技能。比如說利用python處理電影列表、創(chuàng)建自己的分類樹模塊等。
學(xué)以致用、以學(xué)生為中心一直是艾威培訓(xùn)的服務(wù)特色。除此以外,艾威培訓(xùn)還提供考試報名、準(zhǔn)考證、復(fù)習(xí)備考培訓(xùn)、拿證一條龍服務(wù)。
通過python編程入門課程的培訓(xùn),學(xué)生們能夠掌握python編程語言的基礎(chǔ)知識,能夠看懂python語言編寫的應(yīng)用程序,能夠編寫簡單的功能性程序,了解python語言可以應(yīng)用的領(lǐng)域以及局限性。
入門很重要,老師教的好,基礎(chǔ)扎實了,才能一步步向數(shù)據(jù)挖掘與分析高階課程邁進,一步步成為數(shù)據(jù)分析領(lǐng)域的大牛!
Python是一門跨平臺、開源、免費的解釋型高級動態(tài)編程語言。
除了解釋執(zhí)行,Python還支持偽編譯將源代碼轉(zhuǎn)換為字節(jié)碼來優(yōu)化程序提高運行速度和對源代碼進行保密,并且支持使用py2exe、pyinstaller、cx_Freeze或其他類似工具將Python程序及其所有依賴庫打包為擴展程序名exe的可執(zhí)行程序,從而可以脫離Python解釋器環(huán)境和相關(guān)依賴庫而在Windows平臺上獨立運行。
Python支持命令式編程、函數(shù)式編程、完全支持面向?qū)ο蟪绦蛟O(shè)計,語法簡潔清晰,并且擁有大量的幾乎支持所有領(lǐng)域應(yīng)用開發(fā)的成熟擴展庫;也有人喜歡把Python稱為"膠水語言”,因為它可以把多種不同語言編寫的程序融合到一起實現(xiàn)無縫拼接,更好得發(fā)揮不同語言和工具的優(yōu)勢,滿足不同應(yīng)用領(lǐng)域的需求。
語言特點
簡單:Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣。它使你能夠?qū)W⒂诮鉀Q問題而不是去搞明白語言本身。
易學(xué):Python極其容易上手,因為Python有極其簡單的說明文檔。
易讀、易維護:風(fēng)格清晰劃一、強制縮進。
速度快:Python的底層是用C語言寫的,很多標(biāo)準(zhǔn)庫和第三方庫也都是用C寫的,運行速度非常快。
免費、開源:Python是FLOSS(自由/開放源碼軟件)之一。使用者可以自由地發(fā)布這個軟件的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用于新的自由軟件中。FLOSS是基于一個團體分享知識的概念。
Python函數(shù)的參數(shù)類型主要包括必選參數(shù)、可選參數(shù)、可變參數(shù)、位置參數(shù)和關(guān)鍵字參數(shù),本文介紹一下他們的定義以及可變數(shù)據(jù)類型參數(shù)傳遞需要注意的地方。
必選參數(shù)(Required arguments)是必須輸入的參數(shù),比如下面的代碼,必須輸入2個參數(shù),否則就會報錯:
其實上面例子中的參數(shù) num1和num2也屬于關(guān)鍵字參數(shù),比如可以通過如下方式調(diào)用:
執(zhí)行結(jié)果:
可選參數(shù)(Optional arguments)可以不用傳入函數(shù),有一個默認(rèn)值,如果沒有傳入會使用默認(rèn)值,不會報錯。
位置參數(shù)(positional arguments)根據(jù)其在函數(shù)定義中的位置調(diào)用,下面是pow()函數(shù)的幫助信息:
x,y,z三個參數(shù)的的順序是固定的,并且不能使用關(guān)鍵字:
輸出:
在上面的pow()函數(shù)幫助信息中可以看到位置參數(shù)后面加了一個反斜杠 / ,這是python內(nèi)置函數(shù)的語法定義,Python開發(fā)人員不能在python3.8版本之前的代碼中使用此語法。但python3.0到3.7版本可以使用如下方式定義位置參數(shù):
星號前面的參數(shù)為位置參數(shù)或者關(guān)鍵字參數(shù),星號后面是強制關(guān)鍵字參數(shù),具體介紹見強制關(guān)鍵字參數(shù)。
python3.8版本引入了強制位置參數(shù)(Positional-Only Parameters),也就是我們可以使用反斜杠 / 語法來定義位置參數(shù)了,可以寫成如下形式:
來看下面的例子:
python3.8運行:
不能使用關(guān)鍵字參數(shù)形式賦值了。
可變參數(shù) (varargs argument) 就是傳入的參數(shù)個數(shù)是可變的,可以是0-n個,使用星號( * )將輸入?yún)?shù)自動組裝為一個元組(tuple):
執(zhí)行結(jié)果:
關(guān)鍵字參數(shù)(keyword argument)允許將任意個含參數(shù)名的參數(shù)導(dǎo)入到python函數(shù)中,使用雙星號( ** ),在函數(shù)內(nèi)部自動組裝為一個字典。
執(zhí)行結(jié)果:
上面介紹的參數(shù)可以混合使用:
結(jié)果:
注意:由于傳入的參數(shù)個數(shù)不定,所以當(dāng)與普通參數(shù)一同使用時,必須把帶星號的參數(shù)放在最后。
強制關(guān)鍵字參數(shù)(Keyword-Only Arguments)是python3引入的特性,可參考:。 使用一個星號隔開:
在位置參數(shù)一節(jié)介紹過星號前面的參數(shù)可以是位置參數(shù)和關(guān)鍵字參數(shù)。星號后面的參數(shù)都是強制關(guān)鍵字參數(shù),必須以指定參數(shù)名的方式傳參,如果強制關(guān)鍵字參數(shù)沒有設(shè)置默認(rèn)參數(shù),調(diào)用函數(shù)時必須傳參。
執(zhí)行結(jié)果:
也可以在可變參數(shù)后面命名關(guān)鍵字參數(shù),這樣就不需要星號分隔符了:
執(zhí)行結(jié)果:
在Python對象及內(nèi)存管理機制中介紹了python中的參數(shù)傳遞屬于對象的 引用傳遞 (pass by object reference),在編寫函數(shù)的時候需要特別注意。
先來看個例子:
執(zhí)行結(jié)果:
l1 和 l2指向相同的地址,由于列表可變,l1改變時,l2也跟著變了。
接著看下面的例子:
結(jié)果:
l1沒有變化!為什么不是[1, 2, 3, 4]呢?
l = l + [4]表示創(chuàng)建一個“末尾加入元素 4“的新列表,并讓 l 指向這個新的對象,l1沒有進行任何操作,因此 l1 的值不變。如果要改變l1的值,需要加一個返回值:
結(jié)果:
下面的代碼執(zhí)行結(jié)果又是什么呢?
執(zhí)行結(jié)果:
和第一個例子一樣,l1 和 l2指向相同的地址,所以會一起改變。這個問題怎么解決呢?
可以使用下面的方式:
也可以使用淺拷貝或者深度拷貝,具體使用方法可參考Python對象及內(nèi)存管理機制。這個問題在Python編程時需要特別注意。
本文主要介紹了python函數(shù)的幾種參數(shù)類型:必選參數(shù)、可選參數(shù)、可變參數(shù)、位置參數(shù)、強制位置參數(shù)、關(guān)鍵字參數(shù)、強制關(guān)鍵字參數(shù),注意他們不是完全獨立的,比如必選參數(shù)、可選參數(shù)也可以是關(guān)鍵字參數(shù),位置參數(shù)可以是必選參數(shù)或者可選參數(shù)。
另外,python中的參數(shù)傳遞屬于對象的 引用傳遞 ,在對可變數(shù)據(jù)類型進行參數(shù)傳遞時需要特別注意,如有必要,使用python的拷貝方法。
參考文檔:
--THE END--
map() 函數(shù)接受兩個參數(shù),一個是函數(shù),一個是可迭代對象(Iterable), map 將傳入的函數(shù)依次作用到可迭代對象的每一個元素,并把結(jié)果作為迭代器(Iterator)返回。
舉例說明,有一個函數(shù) f(x)=x^2 ,要把這個函數(shù)作用到一個list [1,2,3,4,5,6,7,8,9] 上:
運用簡單的循環(huán)可以實現(xiàn):
運用高階函數(shù) map() :
結(jié)果 r 是一個迭代器,迭代器是惰性序列,通過 list() 函數(shù)讓它把整個序列都計算出來并返回一個 list 。
如果要把這個list所有數(shù)字轉(zhuǎn)為字符串利用 map() 就簡單了:
小練習(xí):利用 map() 函數(shù),把用戶輸入的不規(guī)范的英文名字變?yōu)槭鬃帜复髮懫渌懙囊?guī)范名字。輸入 ['adam', 'LISA', 'barT'] ,輸出 ['Adam', 'Lisa', 'Bart']
reduce() 函數(shù)也是接受兩個參數(shù),一個是函數(shù),一個是可迭代對象, reduce 將傳入的函數(shù)作用到可迭代對象的每個元素的結(jié)果做累計計算。然后將最終結(jié)果返回。
效果就是: reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
舉例說明,將序列 [1,2,3,4,5] 變換成整數(shù) 12345 :
小練習(xí):編寫一個 prod() 函數(shù),可以接受一個 list 并利用 reduce 求積:
map() 和 reduce() 綜合練習(xí):編寫 str2float 函數(shù),把字符串 '123.456' 轉(zhuǎn)換成浮點型 123.456
filter() 函數(shù)用于過濾序列, filter() 也接受一個函數(shù)和一個序列, filter() 把傳入的函數(shù)依次作用于每個元素,然后根據(jù)返回值是 True 還是 False 決定保留還是丟棄該元素。
舉例說明,刪除list中的偶數(shù):
小練習(xí):用 filter() 求素數(shù)
定義一個篩選函數(shù):
定義一個生成器不斷返回下一個素數(shù):
打印100以內(nèi)素數(shù):
python內(nèi)置的 sorted() 函數(shù)可以對list進行排序:
sorted() 函數(shù)也是一個高階函數(shù),還可以接受一個 key 函數(shù)來實現(xiàn)自定義排序:
key 指定的函數(shù)將作用于list的每一個元素上,并根據(jù) key 函數(shù)返回的結(jié)果進行排序.
默認(rèn)情況下,對字符串排序,是按照ASCII的大小比較的,由于'Z' 'a',結(jié)果,大寫字母Z會排在小寫字母a的前面。如果想忽略大小寫可都轉(zhuǎn)換成小寫來比較:
要進行反向排序,不必改動key函數(shù),可以傳入第三個參數(shù) reverse=True :
小練習(xí):假設(shè)我們用一組tuple表示學(xué)生名字和成績: L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] 。用sorted()對上述列表分別按c成績從高到低排序:
運用匿名函數(shù)更簡潔:
01
Python是一種面向?qū)ο蟮慕忉屝陀嬎銠C程序設(shè)計語言,具有豐富和強大的庫。它常被昵稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結(jié)在一起。
Python是一種面向?qū)ο蟮慕忉屝陀嬎銠C程序設(shè)計語言,由荷蘭人Guido van Rossum于1989年發(fā)明,第一個公開發(fā)行版發(fā)行于1991年。
Python作為當(dāng)下最熱門的編程語言,在2018年世界腳本語言排行榜中位列榜首,已經(jīng)成為了多個領(lǐng)域的首選語言。
發(fā)展歷程
自從20世紀(jì)90年代初Python語言誕生至今,它已被逐漸廣泛應(yīng)用于系統(tǒng)管理任務(wù)的處理和Web編程。Python的創(chuàng)始人為Guido van Rossum。1989年圣誕節(jié)期間,在阿姆斯特丹,Guido為了打發(fā)圣誕節(jié)的無趣,決心開發(fā)一個新的腳本解釋程序,作為ABC 語言的一種繼承。之所以選中Python(大蟒蛇的意思)作為該編程語言的名字,是取自英國20世紀(jì)70年代首播的電視喜劇《蒙提.派森干的飛行馬戲團》(Monty Python's Flying Circus)。ABC是由Guido參加設(shè)計的一種教學(xué)語言。就Guido本人看來,ABC 這種語言非常優(yōu)美和強大,是專門為非專業(yè)程序員設(shè)計的。但是ABC語言并沒有成功,究其原因,Guido 認(rèn)為是其非開放造成的。Guido 決心在Python 中避免這一錯誤。同時,他還想實現(xiàn)在ABC 中閃現(xiàn)過但未曾實現(xiàn)的東西。就這樣,Python在Guido手中誕生了??梢哉f,Python是從ABC發(fā)展起來,主要受到了Modula-3(另一種相當(dāng)優(yōu)美且強大的語言,為小型團體所設(shè)計的)的影響。并且結(jié)合了Unix shell和C的習(xí)慣。Python已經(jīng)成為最受歡迎的程序設(shè)計語言之一。自從2004年以后,python的使用率呈線性增長。2011年1月,它被TIOBE編程語言排行榜評為2010年度語言.由于Python語言的簡潔性、易讀性以及可擴展性,在國外用Python做科學(xué)計算的研究機構(gòu)日益增多,一些知名大學(xué)已經(jīng)采用Python來教授程序設(shè)計課程。例如卡耐基梅隆大學(xué)的編程基礎(chǔ)、麻省理工學(xué)院的計算機科學(xué)及編程導(dǎo)論就使用Python語言講授。眾多開源的科學(xué)計算軟件包都提供了Python的調(diào)用接口,例如著名的計算機視覺庫OpenCV、三維可視化庫VTK、醫(yī)學(xué)圖像處理庫ITK。而Python專用的科學(xué)計算擴展庫就更多了,例如如下3個十分經(jīng)典的科學(xué)計算擴展庫:NumPy、SciPy和matplotlib,它們分別為Python提供了快速數(shù)組處理、數(shù)值運算以及繪圖功能。因此Python語言及其眾多的擴展庫所構(gòu)成的開發(fā)環(huán)境十分適合工程技術(shù)、科研人員處理實驗數(shù)據(jù)、制作圖表,甚至開發(fā)科學(xué)計算應(yīng)用程序。2018年3月,該語言作者在郵件列表上宣布Python 2.7將于2020年1月1日終止支持。用戶如果想要在這個日期之后繼續(xù)得到與Python 2.7有關(guān)的支持,則需要付費給商業(yè)供應(yīng)商。
Python優(yōu)點
1. 簡單
我們可以說Python是簡約的語言,非常易于讀寫,遇到問題時,程序員可以把更多的注意力放在問題本身上,而不用花費太多精力在程序語言、語法上。
2. 免費
Python是免費開源的。這意味著程序員不用花錢,就可以共享、復(fù)制和交換它,這也幫助Python形成了強壯的社區(qū),使用它更加完善,技術(shù)發(fā)展更快。專業(yè)人士可以在社區(qū)和初學(xué)者分享他們的知識和經(jīng)驗。
3. 兼容性
Python兼容眾多平臺,所以開發(fā)者不會遇到使用其他語言時常會遇到的困擾。
4. 面向?qū)ο?/p>
Python既支持面向過程,也支持面向?qū)ο缶幊?。在面向過程編程中,程序員復(fù)用代碼,在面向?qū)ο缶幊讨校褂没跀?shù)據(jù)和函數(shù)的對象。盡管面向?qū)ο蟮某绦蛘Z言通常十分復(fù)雜,Python卻設(shè)法保持簡潔。
5. 庫
Python社區(qū)創(chuàng)造了一大堆各種各樣的Python庫。在他們的幫助下,你可以管理文檔,執(zhí)行單元測試、數(shù)據(jù)庫、web瀏覽器、電子郵件、密碼學(xué)、圖形用戶界面和更多的東西。所有東西包括在標(biāo)準(zhǔn)庫,然而,除了它,還有很多其他的庫。
Python語言的用途
多年來,Python在各種流行編程語言中一直排名靠前。它幾乎可以適用任何開發(fā),它旨在提高程序員的開發(fā)效率而不在于他們編的代碼。Python適用于網(wǎng)站、桌面應(yīng)用開發(fā),自動化腳本,復(fù)雜計算系統(tǒng),科學(xué)計算,生命支持管理系統(tǒng),物聯(lián)網(wǎng),游戲,機器人,自然語言處理等很多方面。而且,既使對于那些從沒有開發(fā)經(jīng)驗的人來講,Python的代碼也是簡潔易懂的。由于Python程序代碼簡單,所以和與其他程序語言相比,后期的程序維護更容易,更舒心。從商業(yè)角度來看,需要的成本降低,程序員的效率提高。