Python作為一種面向?qū)ο蟮幕ㄑ巍⒖缙脚_羡滑、開源的解釋型編程語言,之所以流行算芯,與以下幾個原因是分不開的:
- Python簡單易用柒昏,干凈優(yōu)雅,學(xué)習(xí)成本低也祠;
- 擁有眾多開源的第三方庫,功能強(qiáng)大近速。從小工具到企業(yè)級的大型應(yīng)用诈嘿,都可以開發(fā)堪旧。
- Python站在了大數(shù)據(jù)和人工智能的風(fēng)口上,未來的發(fā)展不可估量奖亚。
雖然如此淳梦,但Python這門語言并非是完美無缺的。本文就匯總一下Python的特性昔字,比較下Python的優(yōu)點(diǎn)和缺點(diǎn)爆袍。
Python的優(yōu)點(diǎn)
Python語法簡單
Python的設(shè)計哲學(xué)是優(yōu)雅、明確作郭、簡單陨囊。
相對于C、C++夹攒、Java蜘醋、C#這種高級語言,Python對代碼格式的要求沒有那么嚴(yán)格咏尝,用戶不必糾結(jié)于每條語句之后是否寫分號压语,也不需要給變量聲明數(shù)據(jù)類型,甚至可以像Javascript那樣编检,給同一個變量賦不同類型的值胎食。
這種寬松的語法讓用戶在編寫代碼時比較舒服,不用在細(xì)枝末節(jié)上花費(fèi)太多精力允懂。
在編程這門工作上厕怜,簡單的重要性不言而喻,因?yàn)檫@意味著在開發(fā)程序時累驮,我們可以專注于解決問題的本身酣倾,而不用顧慮語法格式等細(xì)枝末節(jié)。長時間來看谤专,這對工作效率的提升是非常大的躁锡。
Python開源、免費(fèi)
“開源”一詞置侍,也就是開放源代碼的意思映之。
在互聯(lián)網(wǎng)領(lǐng)域,開源是大勢所趨蜡坊,是未來的方向杠输。有很多軟件生產(chǎn)商在后期都會將軟件開源,比如Linux操作系統(tǒng)秕衙、MySQL數(shù)據(jù)庫蠢甲、Apache、Firefox(火狐瀏覽器)等等据忘。
Python也是開源的鹦牛。
程序員使用Python編寫的代碼是開源的搞糕,Python解釋器和內(nèi)置的模塊也是開源的。也就是說所有的Python用戶都可以隨時查看Python的源代碼,一起改進(jìn)Python的性能,處理Python的漏洞岩四。這樣Python這門語言才會越來越健壯。
另一方面要知道的是驹吮,開源并不代表著免費(fèi)。只不過是多數(shù)的開源軟件都是免費(fèi)的晶伦。
但Python不僅開源碟狞,它也免費(fèi)的。
用戶無需擔(dān)心使用Python開發(fā)程序會支付任何費(fèi)用坝辫,也不用擔(dān)心版權(quán)問題篷就,就算使用Python作為商業(yè)用途,它也是免費(fèi)的近忙。
Python支持面向?qū)ο?/h4>
使用Python開發(fā)程序竭业,意味著你也可以像Java、C#那樣及舍,進(jìn)行面向?qū)ο缶幊獭?br> 面向?qū)ο笫歉呒壵Z言的一大特點(diǎn)未辆,這可以使我們在開發(fā)大型程序時游刃有余。
Python模塊眾多
除了Python官方提供的核心模塊之外锯玛,還有很多第三方機(jī)構(gòu)參與進(jìn)來為Python開發(fā)模塊咐柜。從簡單的數(shù)學(xué)計算,到復(fù)雜的3D圖形繪制攘残,借助于眾多的模塊拙友,Python都可以勝任這些工作。
Python可跨平臺歼郭,移植性好
Python是解釋型語言遗契,解釋型語言一般都是可跨平臺的。這一點(diǎn)我們已經(jīng)在《編譯型語言與解釋型語言》一文中進(jìn)行了講解病曾,在此不再贅述牍蜂。
Python的缺點(diǎn)
運(yùn)行速度慢
相對于編譯型語言,解釋型語言運(yùn)行速度慢這個問題我們已經(jīng)有所了解泰涂。
其實(shí)Python之所以慢鲫竞,不僅僅是邊“解釋”邊翻譯,還因?yàn)镻ython是高級語言逼蒙,所以做了很多底層的工作从绘,例如內(nèi)存管理等。
但運(yùn)行速度慢并非是什么大問題,主要是因?yàn)樗俣嚷皇桥c編譯型語言作為比較僵井,之間有幾十毫秒的差值赁还,而這個差值實(shí)際情況中用戶根本是毫無感知的。
拿瀏覽網(wǎng)頁為例驹沿,大多數(shù)的時間都用在了網(wǎng)絡(luò)連接上,并非Python20ms執(zhí)行程序的時間蹈胡。相對于解決Python速度慢的問題渊季,解決網(wǎng)絡(luò)連接速度慢的問題更加有意義。
Python2.0與Python3.0版本不兼容
Python另一個大的槽點(diǎn)是Python2.0與Python3.0的不兼容罚渐。
兩個版本間的差異包括:語法却汉,編碼聲明,除法運(yùn)算荷并,數(shù)據(jù)類型合砂,異常處理,文件處理源织,比較符等等翩伪。
這個問題給Python工程師們帶來了無數(shù)煩惱,而且Python官方在2020年通告不再維護(hù)Python2.0谈息,使得歷史上大量使用了Python2.0的企業(yè)需要很長的時間遷移過渡到Python3.0缘屹。
原文鏈接:http://pythonjishu.com/python-characteristic/