Python簡介

20170320python簡介

? ? ? ? Python是一種計算機程序設(shè)計語言。你可能已經(jīng)聽說過很多種流行的編程語言,比如非常難學(xué)的C語言,非常流行的Java語言,適合初學(xué)者的Basic語言,適合網(wǎng)頁編程的JavaScript語言等等。用任何編程語言來開發(fā)程序,都是為了讓計算機干活,比如下載一個MP3,編寫一個文檔等等,而計算機干活的CPU只認(rèn)識機器指令,所以,盡管不同的編程語言差異極大,最后都得“翻譯”成CPU可以執(zhí)行的機器指令。而不同的編程語言,干同一個活,編寫的代碼量,差距也很大。用Python可以做什么?可以做日常任務(wù),比如自動備份你的MP3;可以做網(wǎng)站,很多著名的網(wǎng)站包括YouTube就是Python寫的;可以做網(wǎng)絡(luò)游戲的后臺,很多在線游戲的后臺都是Python開發(fā)的。Python當(dāng)然也有不能干的事情,比如寫操作系統(tǒng),這個只能用C語言寫;寫手機應(yīng)用,只能用Swift/Objective-C(針對iPhone)和Java(針對Android);寫3D游戲,最好用C或C++。

? ? ? ? 現(xiàn)在,全世界差不多有600多種編程語言,但流行的編程語言也就那么20來種??偟膩碚f,這幾種編程語言各有千秋。C語言是可以用來編寫操作系統(tǒng)的貼近硬件的語言,所以,C語言適合開發(fā)那些追求運行速度、充分發(fā)揮硬件性能的程序。而Python是用來編寫應(yīng)用程序的高級編程語言。當(dāng)你用一種語言開始作真正的軟件開發(fā)時,你除了編寫代碼外,還需要很多基本的已經(jīng)寫好的現(xiàn)成的東西,來幫助你加快開發(fā)進(jìn)度。比如說,要編寫一個電子郵件客戶端,如果先從最底層開始編寫網(wǎng)絡(luò)協(xié)議相關(guān)的代碼,那估計一年半載也開發(fā)不出來。高級編程語言通常都會提供一個比較完善的基礎(chǔ)代碼庫,讓你能直接調(diào)用,比如,針對電子郵件協(xié)議的SMTP庫,針對桌面環(huán)境的GUI庫,在這些已有的代碼庫的基礎(chǔ)上開發(fā),一個電子郵件客戶端幾天就能開發(fā)出來。Python就為我們提供了非常完善的基礎(chǔ)代碼庫,覆蓋了網(wǎng)絡(luò)、文件、GUI、數(shù)據(jù)庫、文本等大量內(nèi)容,被形象地稱作“內(nèi)置電池(batteries included)”。用Python開發(fā),許多功能不必從零編寫,直接使用現(xiàn)成的即可。除了內(nèi)置的庫外,Python還有大量的第三方庫,也就是別人開發(fā)的,供你直接使用的東西。當(dāng)然,如果你開發(fā)的代碼通過很好的封裝,也可以作為第三方庫給別人使用。許多大型網(wǎng)站就是用Python開發(fā)的,例如YouTube、Instagram,還有國內(nèi)的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美國航空航天局)都大量地使用Python。龜叔給Python的定位是“優(yōu)雅”、“明確”、“簡單”,所以Python程序看上去總是簡單易懂,初學(xué)者學(xué)Python,不但入門容易,而且將來深入下去,可以編寫那些非常非常復(fù)雜的程序。

那Python適合開發(fā)哪些類型的應(yīng)用呢?首選是網(wǎng)絡(luò)應(yīng)用,包括網(wǎng)站、后臺服務(wù)等等;

其次是許多日常需要的小工具,包括系統(tǒng)管理員需要的腳本任務(wù)等等;

另外就是把其他語言開發(fā)的程序再包裝起來,方便使用。

Python缺點

第一個缺點就是運行速度慢,和C程序相比非常慢,因為Python是解釋型語言,你的代碼在執(zhí)行時會一行一行地翻譯成CPU能理解的機器碼,這個翻譯過程非常耗時,所以很慢。而C程序是運行前直接編譯成CPU能執(zhí)行的機器碼,所以非??臁?/p>

但是大量的應(yīng)用程序不需要這么快的運行速度,因為用戶根本感覺不出來。例如?

第二個缺點就是代碼不能加密。如果要發(fā)布你的Python程序,實際上就是發(fā)布源代碼,這一點跟C語言不同,C語言不用發(fā)布源代碼,只需要把編譯后的機器碼(也就是你在Windows上常見的xxx.exe文件)發(fā)布出去。要從機器碼反推出C代碼是不可能的,所以,凡是編譯型的語言,都沒有這個問題,而解釋型的語言,則必須把源碼發(fā)布出去。

這個缺點僅限于你要編寫的軟件需要賣給別人掙錢的時候。好消息是目前的互聯(lián)網(wǎng)時代,靠賣軟件授權(quán)的商業(yè)模式越來越少了,靠網(wǎng)站和移動應(yīng)用賣服務(wù)的模式越來越多了,后一種模式不需要把源碼給別人。再說了,現(xiàn)在如火如荼的開源運動和互聯(lián)網(wǎng)自由開放的精神是一致的,互聯(lián)網(wǎng)上有無數(shù)非常優(yōu)秀的像Linux一樣的開源代碼,我們千萬不要高估自己寫的代碼真的有非常大的“商業(yè)價值”。那些大公司的代碼不愿意開放的更重要的原因是代碼寫得太爛了,一旦開源,就沒人敢用他們的產(chǎn)品了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容