python基礎(chǔ)教程之python是什么?
python是什么--python的誕生
Python是著名的“龜叔”Guido van Rossum在1989年圣誕節(jié)期間,為了打發(fā)無(wú)聊的圣誕節(jié)而編寫的一個(gè)編程語(yǔ)言。
本文引用地址:http://m.butianyuan.cn/article/265927.htm現(xiàn)在,全世界差不多有600多種編程語(yǔ)言,但流行的編程語(yǔ)言也就那么20來(lái)種。如果你聽說過TIOBE排行榜,你就能知道編程語(yǔ)言的大致流行程度。這是最近10年最常用的10種編程語(yǔ)言的變化圖:
python是什么--python的功能
總的來(lái)說,這幾種編程語(yǔ)言各有千秋。C語(yǔ)言是可以用來(lái)編寫操作系統(tǒng)的貼近硬件的語(yǔ)言,所以,C語(yǔ)言適合開發(fā)那些追求運(yùn)行速度、充分發(fā)揮硬件性能的程序。而Python是用來(lái)編寫應(yīng)用程序的高級(jí)編程語(yǔ)言。
當(dāng)你用一種語(yǔ)言開始作真正的軟件開發(fā)時(shí),你除了編寫代碼外,還需要很多基本的已經(jīng)寫好的現(xiàn)成的東西,來(lái)幫助你加快開發(fā)進(jìn)度。比如說,要編寫一個(gè)電子郵件客戶端,如果先從最底層開始編寫網(wǎng)絡(luò)協(xié)議相關(guān)的代碼,那估計(jì)一年半載也開發(fā)不出來(lái)。高級(jí)編程語(yǔ)言通常都會(huì)提供一個(gè)比較完善的基礎(chǔ)代碼庫(kù),讓你能直接調(diào)用,比如,針對(duì)電子郵件協(xié)議的SMTP庫(kù),針對(duì)桌面環(huán)境的GUI庫(kù),在這些已有的代碼庫(kù)的基礎(chǔ)上開發(fā),一個(gè)電子郵件客戶端幾天就能開發(fā)出來(lái)。
Python就為我們提供了非常完善的基礎(chǔ)代碼庫(kù),覆蓋了網(wǎng)絡(luò)、文件、GUI、數(shù)據(jù)庫(kù)、文本等大量?jī)?nèi)容,被形象地稱作“內(nèi)置電池(batteries included)”。用Python開發(fā),許多功能不必從零編寫,直接使用現(xiàn)成的即可。
除了內(nèi)置的庫(kù)外,Python還有大量的第三方庫(kù),也就是別人開發(fā)的,供你直接使用的東西。當(dāng)然,如果你開發(fā)的代碼通過很好的封裝,也可以作為第三方庫(kù)給別人使用。
許多大型網(wǎng)站就是用Python開發(fā)的,例如YouTube、Instagram,還有國(guó)內(nèi)的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美國(guó)航空航天局)都大量地使用Python。
龜叔給Python的定位是“優(yōu)雅”、“明確”、“簡(jiǎn)單”,所以Python程序看上去總是簡(jiǎn)單易懂,初學(xué)者學(xué)Python,不但入門容易,而且將來(lái)深入下去,可以編寫那些非常非常復(fù)雜的程序。
總的來(lái)說,Python的哲學(xué)就是簡(jiǎn)單優(yōu)雅,盡量寫容易看明白的代碼,盡量寫少的代碼。如果一個(gè)資深程序員向你炫耀他寫的晦澀難懂、動(dòng)不動(dòng)就幾萬(wàn)行的代碼,你可以盡情地嘲笑他。
那Python適合開發(fā)哪些類型的應(yīng)用呢?
首選是網(wǎng)絡(luò)應(yīng)用,包括網(wǎng)站、后臺(tái)服務(wù)等等;
其次是許多日常需要的小工具,包括系統(tǒng)管理員需要的腳本任務(wù)等等;
另外就是把其他語(yǔ)言開發(fā)的程序再包裝起來(lái),方便使用。
最后說說Python的缺點(diǎn)。
任何編程語(yǔ)言都有缺點(diǎn),Python也不例外。優(yōu)點(diǎn)說過了,那Python有哪些缺點(diǎn)呢?
第一個(gè)缺點(diǎn)就是運(yùn)行速度慢,和C程序相比非常慢,因?yàn)镻ython是解釋型語(yǔ)言,你的代碼在執(zhí)行時(shí)會(huì)一行一行地翻譯成CPU能理解的機(jī)器碼,這個(gè)翻譯過程非常耗時(shí),所以很慢。而C程序是運(yùn)行前直接編譯成CPU能執(zhí)行的機(jī)器碼,所以非???。
但是大量的應(yīng)用程序不需要這么快的運(yùn)行速度,因?yàn)橛脩舾靖杏X不出來(lái)。例如開發(fā)一個(gè)下載MP3的網(wǎng)絡(luò)應(yīng)用程序,C程序的運(yùn)行時(shí)間需要0.001秒,而Python程序的運(yùn)行時(shí)間需要0.1秒,慢了100倍,但由于網(wǎng)絡(luò)更慢,需要等待1秒,你想,用戶能感覺到1.001秒和1.1秒的區(qū)別嗎?這就好比F1賽車和普通的出租車在北京三環(huán)路上行駛的道理一樣,雖然F1賽車?yán)碚摃r(shí)速高達(dá)400公里,但由于三環(huán)路堵車的時(shí)速只有20公里,因此,作為乘客,你感覺的時(shí)速永遠(yuǎn)是20公里。
第二個(gè)缺點(diǎn)就是代碼不能加密。如果要發(fā)布你的Python程序,實(shí)際上就是發(fā)布源代碼,這一點(diǎn)跟C語(yǔ)言不同,C語(yǔ)言不用發(fā)布源代碼,只需要把編譯后的機(jī)器碼(也就是你在Windows上常見的xxx.exe文件)發(fā)布出去。要從機(jī)器碼反推出C代碼是不可能的,所以,凡是編譯型的語(yǔ)言,都沒有這個(gè)問題,而解釋型的語(yǔ)言,則必須把源碼發(fā)布出去。
這個(gè)缺點(diǎn)僅限于你要編寫的軟件需要賣給別人掙錢的時(shí)候。好消息是目前的互聯(lián)網(wǎng)時(shí)代,靠賣軟件授權(quán)的商業(yè)模式越來(lái)越少了,靠網(wǎng)站和移動(dòng)應(yīng)用賣服務(wù)的模式越來(lái)越多了,后一種模式不需要把源碼給別人。
再說了,現(xiàn)在如火如荼的開源運(yùn)動(dòng)和互聯(lián)網(wǎng)自由開放的精神是一致的,互聯(lián)網(wǎng)上有無(wú)數(shù)非常優(yōu)秀的像Linux一樣的開源代碼,我們千萬(wàn)不要高估自己寫的代碼真的有非常大的“商業(yè)價(jià)值”。那些大公司的代碼不愿意開放的更重要的原因是代碼寫得太爛了,一旦開源,就沒人敢用他們的產(chǎn)品了。
當(dāng)然,Python還有其他若干小缺點(diǎn),請(qǐng)自行忽略,就不一一列舉了。
相關(guān)文章:學(xué)python能找到女朋友嗎(python基礎(chǔ)教程)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
c語(yǔ)言相關(guān)文章:c語(yǔ)言教程
評(píng)論