目錄
Python的優(yōu)點(diǎn)
1) 語法簡單
2) Python 是開源的
3) Python 是免費(fèi)的
4) Python 是高級(jí)語言
5) Python 是解釋型語言,能跨平臺(tái)
6) Python 是面向?qū)ο蟮木幊陶Z言
7) Python 功能強(qiáng)大(模塊眾多)
8) Python 可擴(kuò)展性強(qiáng)
Python 的缺點(diǎn)
1) 運(yùn)行速度慢
2) 代碼加密困難
Python 是一種開源的解釋型腳本編程語言,它之所以非常流行,主要有三點(diǎn)原因:
1、Python 簡單易用,學(xué)習(xí)成本低,看起來非常優(yōu)雅干凈;
2、Python 標(biāo)準(zhǔn)庫和第三庫眾多,功能強(qiáng)大,既可以開發(fā)小工具,也可以開發(fā)企業(yè)級(jí)應(yīng)用;
3、Python 站在了人工智能和大數(shù)據(jù)的風(fēng)口上,站在風(fēng)口上,豬都能飛起來。
舉個(gè)簡單的例子來說明一下 Python 的簡單:
比如要實(shí)現(xiàn)某個(gè)功能,C語言可能需要 100 行代碼,而 Python 可能只需要幾行代碼,因?yàn)镃語言什么都要得從頭開始,而 Python 已經(jīng)內(nèi)置了很多常見功能,我們只需要導(dǎo)入包,然后調(diào)用一個(gè)函數(shù)即可。
簡單就是 Python 的巨大魅力之一,是它的殺手锏,用慣了 Python 再用C語言簡直不能忍受。
本文就來匯總一下 Python 的特性,綜合對(duì)比一下它的優(yōu)缺點(diǎn)。
Python的優(yōu)點(diǎn)
1) 語法簡單
和傳統(tǒng)的 C/C++、Java、C# 等語言相比,Python 對(duì)代碼格式的要求沒有那么嚴(yán)格,這種寬松使得用戶在編寫代碼時(shí)比較舒服,不用在細(xì)枝末節(jié)上花費(fèi)太多精力。我來舉兩個(gè)典型的例子:
1、Python 不要求在每個(gè)語句的最后寫上分號(hào),當(dāng)然寫也沒錯(cuò);
2、定義變量時(shí)不需要指明類型,甚至可以給同一個(gè)變量賦值不同類型的數(shù)據(jù)。
上述兩點(diǎn)也是 PHP、JavaScript、MATLAB 等常見腳本語言都具備的特性。
Python 是一種代表極簡主義的編程語言,閱讀一段排版優(yōu)美的 Python 代碼,就像在閱讀一個(gè)英文段落,非常貼近人類語言,所以人們常說,Python 是一種具有偽代碼特點(diǎn)的編程語言。
偽代碼(Pseudo Code)是一種算法描述語言,它介于自然語言和編程語言之間。編寫偽代碼的目的是為了使被描述的算法可以更容易地以任何一種編程語言實(shí)現(xiàn),比如 C、C++、Java 等。因此,偽代碼必須結(jié)構(gòu)清晰、代碼簡單、可讀性好,并且類似于自然語言。如果你學(xué)過數(shù)據(jù)結(jié)構(gòu),閱讀過嚴(yán)蔚敏的書籍,那你一定知道什么是偽代碼。
為什么說簡單就是殺手锏?一旦簡單了,一件事情就會(huì)變得很純粹;我們?cè)陂_發(fā) Python 程序時(shí),可以專注于解決問題本身,而不用顧慮語法的細(xì)枝末節(jié)。在簡單的環(huán)境中做一件純粹的事情,那簡直是一種享受。
2) Python 是開源的
開源,也即開放源代碼,意思是所有用戶都可以看到源代碼。
Python 的開源體現(xiàn)在兩方面:
① 程序員使用 Python 編寫的代碼是開源的。
比如我們開發(fā)了一個(gè) BBS 系統(tǒng)(即網(wǎng)絡(luò)論壇),放在互聯(lián)網(wǎng)上讓用戶下載,那么用戶下載到的就是該系統(tǒng)的所有源代碼,并且可以隨意修改。這也是解釋型語言本身的特性,想要運(yùn)行程序就必須有源代碼。
② Python 解釋器和模塊是開源的。
官方將 Python 解釋器和模塊的代碼開源,是希望所有 Python 用戶都參與進(jìn)來,一起改進(jìn) Python 的性能,彌補(bǔ) Python 的漏洞,代碼被研究的越多也就越健壯。
這個(gè)世界上總有那么一小撮人,他們或者不慕名利,或者為了達(dá)到某種目的,會(huì)不斷地加強(qiáng)和改善 Python。千萬不要認(rèn)為所有人都是只圖眼前利益的,總有一些精英會(huì)放長線釣大魚,總有一些極客會(huì)做一些炫酷的事情。
3) Python 是免費(fèi)的
開源并不等于免費(fèi),開源軟件和免費(fèi)軟件是兩個(gè)概念,只不過大多數(shù)的開源軟件也是免費(fèi)軟件;Python 就是這樣一種語言,它既開源又免費(fèi)。
用戶使用 Python 進(jìn)行開發(fā)或者發(fā)布自己的程序,不需要支付任何費(fèi)用,也不用擔(dān)心版權(quán)問題,即使作為商業(yè)用途,Python 也是免費(fèi)的。
4) Python 是高級(jí)語言
這里所說的高級(jí),是指 Python 封裝較深,屏蔽了很多底層細(xì)節(jié),比如 Python 會(huì)自動(dòng)管理內(nèi)存(需要時(shí)自動(dòng)分配,不需要時(shí)自動(dòng)釋放)。
高級(jí)語言的優(yōu)點(diǎn)是使用方便,不用顧慮細(xì)枝末節(jié);缺點(diǎn)是容易讓人淺嘗輒止,知其然不知其所以然。
5) Python 是解釋型語言,能跨平臺(tái)
解釋型語言一般都是跨平臺(tái)的(可移植性好),Python 也不例外。
6) Python 是面向?qū)ο蟮木幊陶Z言
面向?qū)ο螅∣bject Oriented)是大多數(shù)“現(xiàn)代”語言(即第三代編程語言)都具備的特性,否則在開發(fā)中大型程序時(shí)會(huì)捉襟見肘。
Python 雖然支持面向?qū)ο?,但它并不?qiáng)制你使用這種特性。Java 是典型的面向?qū)ο蟮木幊陶Z言,它強(qiáng)制必須以類和對(duì)象的形式來組織代碼。除 Python 和 Java 外,C++、C#、PHP、RuBy、Perl 等,也都支持面向?qū)ο蟮奶匦浴?/p>
7) Python 功能強(qiáng)大(模塊眾多)
Python 的模塊眾多,基本實(shí)現(xiàn)了所有的常見的功能,從簡單的字符串處理,到復(fù)雜的 3D 圖形繪制,借助 Python 模塊都可以輕松完成。
Python 社區(qū)發(fā)展良好,除了 Python 官方提供的核心模塊,很多第三方機(jī)構(gòu)也會(huì)參與到模塊的開發(fā)中,這其中就有 Google(谷歌)、Facebook(臉書)、Microsoft(微軟) 等軟件巨頭。
在 Python 中,即使是一些小眾的功能,它往往也有對(duì)應(yīng)的開源模塊,甚至有可能不止一個(gè)。
8) Python 可擴(kuò)展性強(qiáng)
Python 的可擴(kuò)展性體現(xiàn)在它的模塊,Python 具有腳本語言中最豐富、強(qiáng)大的庫或模塊,這些庫或模塊覆蓋了文件操作、圖形界面編程、網(wǎng)絡(luò)編程、數(shù)據(jù)庫訪問等絕大部分應(yīng)用場景。
值得注意的是,這些類庫的底層代碼不一定都是 Python,還有很多 C/C++ 的身影。
比如當(dāng)需要一段關(guān)鍵代碼運(yùn)行速度更快時(shí),就可以使用 C/C++ 語言實(shí)現(xiàn),然后在 Python 中調(diào)用它們。Python 能把其它語言“粘”在一起,所以被稱為“膠水語言”。
Python 依靠其良好的擴(kuò)展性,在一定程度上彌補(bǔ)了運(yùn)行效率慢的缺點(diǎn)。
Python 的缺點(diǎn)
除了上面提到的各種優(yōu)點(diǎn),Python 也是有缺點(diǎn)的。
1) 運(yùn)行速度慢
運(yùn)行速度慢是解釋型語言的通病,Python 也不例外。
Python 速度慢不僅僅是因?yàn)橐贿呥\(yùn)行一邊“翻譯”源代碼,還因?yàn)?Python 是高級(jí)語言,屏蔽了很多底層細(xì)節(jié)。這個(gè)代價(jià)也是很大的,Python 要多做很多工作,有些工作是很消耗資源的,比如管理內(nèi)存。
Python 的運(yùn)行速度幾乎是最慢的,不但遠(yuǎn)遠(yuǎn)慢于 C/C++,還慢于 Java。
但是速度慢的缺點(diǎn)往往也不會(huì)帶來什么大問題。首先是計(jì)算機(jī)的硬件速度運(yùn)來越快,多花錢就可以堆出高性能的硬件,硬件性能的提升可以彌補(bǔ)軟件性能的不足。
其次是有些應(yīng)用場景可以容忍速度慢,比如網(wǎng)站,用戶打開一個(gè)網(wǎng)頁的大部分時(shí)間是在等待網(wǎng)絡(luò)請(qǐng)求,而不是等待服務(wù)器執(zhí)行網(wǎng)頁程序。服務(wù)器花 1ms 執(zhí)行程序,和花 20ms 執(zhí)行程序,對(duì)用戶來說是毫無感覺的,因?yàn)榫W(wǎng)絡(luò)連接時(shí)間往往需要 500ms 甚至 2000ms。文章來源:http://www.zghlxwxcb.cn/news/detail-469303.html
2) 代碼加密困難
不像編譯型語言那樣,源代碼會(huì)被編譯成可執(zhí)行程序(這個(gè)編譯過程就相當(dāng)于對(duì)源碼加密),對(duì)于 Python 來說是直接運(yùn)行源代碼,因此對(duì)源碼加密是比較困難的。文章來源地址http://www.zghlxwxcb.cn/news/detail-469303.html
到了這里,關(guān)于Python編程語言的特點(diǎn)(優(yōu)點(diǎn)和缺點(diǎn))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!