基礎(chǔ)知識(shí)
1.python是著名龜叔Guido van Rossum在1989圣誕節(jié)期間,為了打發(fā)無聊的圣誕節(jié)而編寫的一個(gè)編程程序。
2.現(xiàn)在 全世界差不多有600度種語言,但流行的編程語言也就20多種,如果你聽說過TIOSE排行榜久又,你就能知道編程語言的大致流行程度。
這是在2018年12月8日看得TIOSE排行榜如下圖
這是近10年最常用的的10種編程語言:
總的來說編程語言各有千秋:
(1)c語言是可以用來編寫操作系統(tǒng)的,所以c語言適合開發(fā)那些追求運(yùn)行速度地消、充分發(fā)揮硬件性能的程序炉峰。而python是用來編寫應(yīng)用程序的高級(jí)程序語言
(2)當(dāng)你用一種語言開始做正真的軟件開發(fā)時(shí),你除了編寫代碼外脉执,還需要很多基本已經(jīng)寫好的現(xiàn)成的東西讲冠,來幫助你加速開發(fā)進(jìn)度。比如要編寫一個(gè)電子郵件客戶端适瓦,如果先從最低層開始編寫網(wǎng)絡(luò)協(xié)議相關(guān)的代碼,那估計(jì)一年半載也開發(fā)不出來谱仪。高級(jí)編程語言通常都會(huì)提供一個(gè)比較完善的基礎(chǔ)代碼庫(kù)玻熙,讓你能直接調(diào)用,比如疯攒,針對(duì)電子郵件協(xié)議的SMTP庫(kù)嗦随,針對(duì)桌面環(huán)境的GUI庫(kù),在這些已有的代碼庫(kù)的基礎(chǔ)開發(fā)敬尺,一個(gè)電子郵件客戶端幾天就能開發(fā)出來枚尼。
python就為我們提供非常完善的基礎(chǔ)代碼庫(kù),覆蓋了網(wǎng)絡(luò)砂吞、文件署恍、GUI、數(shù)據(jù)庫(kù)蜻直、文本等大量?jī)?nèi)容盯质,被形象的稱作內(nèi)置電池。用python開發(fā)概而,許多功能不必從零編寫呼巷,直接用現(xiàn)成的即可。
除了內(nèi)置的庫(kù)外赎瑰,python還有大量的第三方庫(kù)也就是別人開發(fā)的王悍,供你直接使用的東西。當(dāng)然如果你開發(fā)的代碼通過很好的封裝餐曼,也可以作為第三方庫(kù)給別人使用压储。
許多大型網(wǎng)站就是使用python開發(fā)的,例如youToube源譬、instagram還有國(guó)內(nèi)的豆瓣等渠脉,很多的大公司,包括google瓶佳、Yahoo等都大量使用python
龜叔給python的定位就是優(yōu)雅芋膘、簡(jiǎn)單、明確,所以python程序看上去總是容易懂为朋,初學(xué)者不但入門容易臂拓、而且將來升入下去,尅編寫那些非常復(fù)雜的程序习寸。
在來說一下pythong適合開發(fā)哪些應(yīng)用程序呢胶惰?
(1)首先是網(wǎng)絡(luò)應(yīng)用、包括網(wǎng)站霞溪、后臺(tái)服務(wù)等等孵滞;
(2)其次是許多日常的小工具、包括系統(tǒng)管理員需要腳本任務(wù)等等鸯匹;
(3)另外就是把其他語言開發(fā)的程序在包裝起來坊饶,方便使用。
最后說說python的缺點(diǎn)
(1)殴蓬、運(yùn)行速度慢匿级、和c語言相比非常的慢,因?yàn)閜ython是解釋行語言染厅,你的代碼在執(zhí)行時(shí)會(huì)一行一行地翻譯成CPU能理解的機(jī)器碼痘绎,這個(gè)翻譯過程非常的耗時(shí),所以很慢肖粮,而C程序是運(yùn)行直接編譯成CPU能執(zhí)行的機(jī)器碼孤页,所以非常快涩馆。但是大量的應(yīng)用程序不需要這么快的運(yùn)行速度散庶,因?yàn)橛脩舾靖杏X不出來,例如開發(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.1秒和1.001秒的區(qū)別嗎轻腺?這就好比F1賽車個(gè)普通的出租車在北京三環(huán)路上行駛的道理一樣,雖然F1賽車的時(shí)速高達(dá)400公里划乖,但是由于三環(huán)堵車的時(shí)速只有20公里贬养,作為乘客,你的感覺永遠(yuǎn)是20公里琴庵。
(2)误算、代碼不能加密仰美,如果要發(fā)布你的python程序,實(shí)際上就是發(fā)布源代碼儿礼,這一點(diǎn)跟c語言不通咖杂,c語言不用發(fā)布源代碼,只要把編譯后的機(jī)器碼發(fā)布出去蚊夫,要從及其反推出c大愛嗎是不可能的诉字,所以,凡是編譯型語言知纷,都沒有這個(gè)問題壤圃,而解釋型語言,則必須把源碼發(fā)布出去琅轧。
這個(gè)缺點(diǎn)僅限于你要編寫的軟件需要賣給別人掙錢的時(shí)候伍绳,好消息是目前的互聯(lián)網(wǎng)時(shí)代,靠買軟件授權(quán)的商業(yè)模式越來越少了鹰晨,靠網(wǎng)站和移動(dòng)應(yīng)用買服務(wù)的模式越來越多。
再說如火如荼的開源運(yùn)動(dòng)和互聯(lián)網(wǎng)自由開放的精神是一致的止毕∧@互聯(lián)網(wǎng)上有無數(shù)非常優(yōu)秀的像Linux一樣的開源代碼,我們千萬不要高估自己寫的代碼真的有非常大的價(jià)值扁凛,那些大公司不愿意開放的更重要的原因是代碼寫的太爛了忍疾,一旦開源,就沒人敢用他們的產(chǎn)品了谨朝。