這篇文章主要介紹“python語(yǔ)言的優(yōu)點(diǎn)和缺點(diǎn)是什么”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“python語(yǔ)言的優(yōu)點(diǎn)和缺點(diǎn)是什么”文章能幫助大家解決問(wèn)題。
創(chuàng)新互聯(lián)公司主營(yíng)河池網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP開(kāi)發(fā)公司,河池h5成都小程序開(kāi)發(fā)搭建,河池網(wǎng)站營(yíng)銷(xiāo)推廣歡迎河池等地區(qū)企業(yè)咨詢(xún)
Python是一種面向?qū)ο蟮膭?dòng)態(tài)、強(qiáng)類(lèi)型的編程語(yǔ)言,是一門(mén)有條理的和強(qiáng)大的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。Python簡(jiǎn)單易用,學(xué)習(xí)成本低,看起來(lái)非常優(yōu)雅干凈;Python標(biāo)準(zhǔn)庫(kù)和第三庫(kù)眾多,功能強(qiáng)大,既可以開(kāi)發(fā)小工具,也可以開(kāi)發(fā)企業(yè)級(jí)應(yīng)用。
python是什么語(yǔ)言
Python 是一門(mén)有條理的和強(qiáng)大的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,是一種面向?qū)ο蟮膭?dòng)態(tài)、強(qiáng)類(lèi)型腳本語(yǔ)言(解釋型語(yǔ)言)。作者是荷蘭人 Guido van Rossum (吉多·范羅蘇姆,中國(guó)程序員稱(chēng)其為“龜叔”)。
強(qiáng)類(lèi)型:不允許不同類(lèi)型相加
動(dòng)態(tài)類(lèi)型:不使用顯示數(shù)據(jù)類(lèi)型聲明,且確定一個(gè)變量的類(lèi)型是在第一次給它賦值的時(shí)候
腳本語(yǔ)言:一般也是解釋型語(yǔ)言。在程序運(yùn)行的前一刻,還只有源程序沒(méi)有可執(zhí)行程序;而程序每執(zhí)行到源程序的某一條指令,解釋程序?qū)⒃创a轉(zhuǎn)換成二進(jìn)制代碼以供執(zhí)行;總言之就是不斷的解釋、執(zhí)行、解釋、執(zhí)行.....
Python 的誕生是極具戲曲性的,據(jù) Guido 自述記載,Python 語(yǔ)言是在圣誕節(jié)期間為了打發(fā)無(wú)聊的時(shí)間而開(kāi)發(fā)的,之所以會(huì)選擇 Python 作為該編程語(yǔ)言的名字,是因?yàn)?Guido 是 Monty Python 戲劇團(tuán)的忠實(shí)粉絲。
Python 語(yǔ)言是在 ABC 語(yǔ)言的基礎(chǔ)上發(fā)展而來(lái),其設(shè)計(jì)的初衷是成為 ABC 語(yǔ)言的替代品。ABC 語(yǔ)言雖然是一款功能強(qiáng)大的高級(jí)語(yǔ)言,遺憾的是,由于 ABC 語(yǔ)言不開(kāi)放的原因,導(dǎo)致它沒(méi)有得到普及應(yīng)用?;谶@個(gè)考慮,Guido 在開(kāi)發(fā) Python 之初就決定將其開(kāi)源。
Python 中不僅添加了許多 ABC 語(yǔ)言沒(méi)有的功能,同時(shí),還為其設(shè)計(jì)了各種豐富而強(qiáng)大的庫(kù),利用這些 Python 庫(kù),程序員可以把使用其它語(yǔ)言制作的各類(lèi)模塊(尤其是C語(yǔ)言和 C++)很輕松地“黏連”在一起,因此 Python 又常被稱(chēng)為“膠水”語(yǔ)言。
注意:這里所說(shuō)的庫(kù)和模塊,簡(jiǎn)單地理解就是一個(gè)個(gè)的源文件,每個(gè)文件中都包含可實(shí)現(xiàn)各種功能的方法(也可稱(chēng)為函數(shù))。
從整體上看,Python 語(yǔ)言最大的特點(diǎn)就是簡(jiǎn)單,該特點(diǎn)主要體現(xiàn)在以下兩個(gè)方面:
Python 的語(yǔ)法非常簡(jiǎn)潔明了,即便是非軟件專(zhuān)業(yè)的初學(xué)者,也很容易上手。
和其它編程語(yǔ)言相比,實(shí)現(xiàn)同一個(gè)功能,Python 語(yǔ)言的實(shí)現(xiàn)代碼往往是最短的。
Python為什么流行
Python 是一種開(kāi)源的解釋型腳本編程語(yǔ)言,它之所以非常流行,主要有三點(diǎn)原因:
Python 簡(jiǎn)單易用,學(xué)習(xí)成本低,看起來(lái)非常優(yōu)雅干凈;
Python 標(biāo)準(zhǔn)庫(kù)和第三庫(kù)眾多,功能強(qiáng)大,既可以開(kāi)發(fā)小工具,也可以開(kāi)發(fā)企業(yè)級(jí)應(yīng)用;
Python 站在了人工智能和大數(shù)據(jù)的風(fēng)口上,站在風(fēng)口上,豬都能飛起來(lái)。
舉個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明一下 Python 的簡(jiǎn)單:
比如要實(shí)現(xiàn)某個(gè)功能,C語(yǔ)言可能需要 100 行代碼,而 Python 可能只需要幾行代碼,因?yàn)镃語(yǔ)言什么都要得從頭開(kāi)始,而 Python 已經(jīng)內(nèi)置了很多常見(jiàn)功能,我們只需要導(dǎo)入包,然后調(diào)用一個(gè)函數(shù)即可。
簡(jiǎn)單就是 Python 的巨大魅力之一,是它的殺手锏,用慣了 Python 再用C語(yǔ)言簡(jiǎn)直不能忍受。
Python的優(yōu)點(diǎn)
1) 語(yǔ)法簡(jiǎn)單
和傳統(tǒng)的 C/C++、Java、C# 等語(yǔ)言相比,Python 對(duì)代碼格式的要求沒(méi)有那么嚴(yán)格,這種寬松使得用戶(hù)在編寫(xiě)代碼時(shí)比較舒服,不用在細(xì)枝末節(jié)上花費(fèi)太多精力。我來(lái)舉兩個(gè)典型的例子:
Python 不要求在每個(gè)語(yǔ)句的最后寫(xiě)上分號(hào),當(dāng)然寫(xiě)也沒(méi)錯(cuò);
定義變量時(shí)不需要指明類(lèi)型,甚至可以給同一個(gè)變量賦值不同類(lèi)型的數(shù)據(jù)。
上述兩點(diǎn)也是 PHP、JavaScript、MATLAB 等常見(jiàn)腳本語(yǔ)言都具備的特性。
Python 是一種代表極簡(jiǎn)主義的編程語(yǔ)言,閱讀一段排版優(yōu)美的 Python 代碼,就像在閱讀一個(gè)英文段落,非常貼近人類(lèi)語(yǔ)言,所以人們常說(shuō),Python 是一種具有偽代碼特點(diǎn)的編程語(yǔ)言。
偽代碼(Pseudo Code)是一種算法描述語(yǔ)言,它介于自然語(yǔ)言和編程語(yǔ)言之間。編寫(xiě)偽代碼的目的是為了使被描述的算法可以更容易地以任何一種編程語(yǔ)言實(shí)現(xiàn),比如 C、C++、Java 等。因此,偽代碼必須結(jié)構(gòu)清晰、代碼簡(jiǎn)單、可讀性好,并且類(lèi)似于自然語(yǔ)言。如果你學(xué)過(guò)數(shù)據(jù)結(jié)構(gòu),閱讀過(guò)嚴(yán)蔚敏的書(shū)籍,那你一定知道什么是偽代碼。
為什么說(shuō)簡(jiǎn)單就是殺手锏?一旦簡(jiǎn)單了,一件事情就會(huì)變得很純粹;我們?cè)陂_(kāi)發(fā) Python 程序時(shí),可以專(zhuān)注于解決問(wèn)題本身,而不用顧慮語(yǔ)法的細(xì)枝末節(jié)。在簡(jiǎn)單的環(huán)境中做一件純粹的事情,那簡(jiǎn)直是一種享受。
2) Python 是開(kāi)源的
開(kāi)源,也即開(kāi)放源代碼,意思是所有用戶(hù)都可以看到源代碼。
Python 的開(kāi)源體現(xiàn)在兩方面:
① 程序員使用 Python 編寫(xiě)的代碼是開(kāi)源的。
比如我們開(kāi)發(fā)了一個(gè) BBS 系統(tǒng)(即網(wǎng)絡(luò)論壇),放在互聯(lián)網(wǎng)上讓用戶(hù)下載,那么用戶(hù)下載到的就是該系統(tǒng)的所有源代碼,并且可以隨意修改。這也是解釋型語(yǔ)言本身的特性,想要運(yùn)行程序就必須有源代碼。
② Python 解釋器和模塊是開(kāi)源的。
官方將 Python 解釋器和模塊的代碼開(kāi)源,是希望所有 Python 用戶(hù)都參與進(jìn)來(lái),一起改進(jìn) Python 的性能,彌補(bǔ) Python 的漏洞,代碼被研究的越多也就越健壯。
這個(gè)世界上總有那么一小撮人,他們或者不慕名利,或者為了達(dá)到某種目的,會(huì)不斷地加強(qiáng)和改善 Python。千萬(wàn)不要認(rèn)為所有人都是只圖眼前利益的,總有一些精英會(huì)放長(zhǎng)線釣大魚(yú),總有一些極客會(huì)做一些炫酷的事情。
3) Python 是免費(fèi)的
開(kāi)源并不等于免費(fèi),開(kāi)源軟件和免費(fèi)軟件是兩個(gè)概念,只不過(guò)大多數(shù)的開(kāi)源軟件也是免費(fèi)軟件;Python 就是這樣一種語(yǔ)言,它既開(kāi)源又免費(fèi)。
如果你想?yún)^(qū)分開(kāi)源和免費(fèi)的概念,請(qǐng)猛擊:開(kāi)源就等于免費(fèi)嗎?用事實(shí)來(lái)說(shuō)話
用戶(hù)使用 Python 進(jìn)行開(kāi)發(fā)或者發(fā)布自己的程序,不需要支付任何費(fèi)用,也不用擔(dān)心版權(quán)問(wèn)題,即使作為商業(yè)用途,Python 也是免費(fèi)的。
4) Python 是高級(jí)語(yǔ)言
這里所說(shuō)的高級(jí),是指 Python 封裝較深,屏蔽了很多底層細(xì)節(jié),比如 Python 會(huì)自動(dòng)管理內(nèi)存(需要時(shí)自動(dòng)分配,不需要時(shí)自動(dòng)釋放)。
高級(jí)語(yǔ)言的優(yōu)點(diǎn)是使用方便,不用顧慮細(xì)枝末節(jié);缺點(diǎn)是容易讓人淺嘗輒止,知其然不知其所以然。
5) Python 是解釋型語(yǔ)言,能跨平臺(tái)
解釋型語(yǔ)言一般都是跨平臺(tái)的(可移植性好),Python 也不例外,我們已經(jīng)在《編譯型語(yǔ)言和解釋型語(yǔ)言的區(qū)別》中進(jìn)行了講解,這里不再贅述。
6) Python 是面向?qū)ο蟮木幊陶Z(yǔ)言
面向?qū)ο螅∣bject Oriented)是大多數(shù)“現(xiàn)代”語(yǔ)言(即第三代編程語(yǔ)言)都具備的特性,否則在開(kāi)發(fā)中大型程序時(shí)會(huì)捉襟見(jiàn)肘。
Python 雖然支持面向?qū)ο?,但它并不?qiáng)制你使用這種特性。Java 是典型的面向?qū)ο蟮木幊陶Z(yǔ)言,它強(qiáng)制必須以類(lèi)和對(duì)象的形式來(lái)組織代碼。除 Python 和 Java 外,C++、C#、PHP、RuBy、Perl 等,也都支持面向?qū)ο蟮奶匦浴?/p>
除了面向?qū)ο蟮木幊陶Z(yǔ)言外,還有一種面向過(guò)程的編程語(yǔ)言,其中最典型的代表就是 C 語(yǔ)言。
7) Python 功能強(qiáng)大(模塊眾多)
Python 的模塊眾多,基本實(shí)現(xiàn)了所有的常見(jiàn)的功能,從簡(jiǎn)單的字符串處理,到復(fù)雜的 3D 圖形繪制,借助 Python 模塊都可以輕松完成。
Python 社區(qū)發(fā)展良好,除了 Python 官方提供的核心模塊,很多第三方機(jī)構(gòu)也會(huì)參與到模塊的開(kāi)發(fā)中,這其中就有 Google(谷歌)、Facebook(臉書(shū))、Microsoft(微軟) 等軟件巨頭。
在 Python 中,即使是一些小眾的功能,它往往也有對(duì)應(yīng)的開(kāi)源模塊,甚至有可能不止一個(gè)。
8) Python 可擴(kuò)展性強(qiáng)
Python 的可擴(kuò)展性體現(xiàn)在它的模塊,Python 具有腳本語(yǔ)言中最豐富、強(qiáng)大的庫(kù)或模塊,這些庫(kù)或模塊覆蓋了文件操作、圖形界面編程、網(wǎng)絡(luò)編程、數(shù)據(jù)庫(kù)訪問(wèn)等絕大部分應(yīng)用場(chǎng)景。
值得注意的是,這些類(lèi)庫(kù)的底層代碼不一定都是 Python,還有很多 C/C++ 的身影。
比如當(dāng)需要一段關(guān)鍵代碼運(yùn)行速度更快時(shí),就可以使用 C/C++ 語(yǔ)言實(shí)現(xiàn),然后在 Python 中調(diào)用它們。Python 能把其它語(yǔ)言“粘”在一起,所以被稱(chēng)為“膠水語(yǔ)言”。
Python 依靠其良好的擴(kuò)展性,在一定程度上彌補(bǔ)了運(yùn)行效率慢的缺點(diǎn)。
Python 的缺點(diǎn)
除了上面提到的各種優(yōu)點(diǎn),Python 也是有缺點(diǎn)的。
1) 運(yùn)行速度慢
運(yùn)行速度慢是解釋型語(yǔ)言的通病,Python 也不例外。
Python 速度慢不僅僅是因?yàn)橐贿呥\(yùn)行一邊“翻譯”源代碼,還因?yàn)?Python 是高級(jí)語(yǔ)言,屏蔽了很多底層細(xì)節(jié)。這個(gè)代價(jià)也是很大的,Python 要多做很多工作,有些工作是很消耗資源的,比如管理內(nèi)存。
Python 的運(yùn)行速度幾乎是最慢的,不但遠(yuǎn)遠(yuǎn)慢于 C/C++,還慢于 Java。
但是速度慢的缺點(diǎn)往往也不會(huì)帶來(lái)什么大問(wèn)題。首先是計(jì)算機(jī)的硬件速度運(yùn)來(lái)越快,多花錢(qián)就可以堆出高性能的硬件,硬件性能的提升可以彌補(bǔ)軟件性能的不足。
其次是有些應(yīng)用場(chǎng)景可以容忍速度慢,比如網(wǎng)站,用戶(hù)打開(kāi)一個(gè)網(wǎng)頁(yè)的大部分時(shí)間是在等待網(wǎng)絡(luò)請(qǐng)求,而不是等待服務(wù)器執(zhí)行網(wǎng)頁(yè)程序。服務(wù)器花 1ms 執(zhí)行程序,和花 20ms 執(zhí)行程序,對(duì)用戶(hù)來(lái)說(shuō)是毫無(wú)感覺(jué)的,因?yàn)榫W(wǎng)絡(luò)連接時(shí)間往往需要 500ms 甚至 2000ms。
2) 代碼加密困難
不像編譯型語(yǔ)言那樣,源代碼會(huì)被編譯成可執(zhí)行程序(這個(gè)編譯過(guò)程就相當(dāng)于對(duì)源碼加密),對(duì)于 Python 來(lái)說(shuō)是直接運(yùn)行源代碼,因此對(duì)源碼加密是比較困難的。
關(guān)于“python語(yǔ)言的優(yōu)點(diǎn)和缺點(diǎn)是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
新聞標(biāo)題:python語(yǔ)言的優(yōu)點(diǎn)和缺點(diǎn)是什么
文章鏈接:http://muchs.cn/article42/ghhpec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、關(guān)鍵詞優(yōu)化、App開(kāi)發(fā)、網(wǎng)站內(nèi)鏈、微信公眾號(hào)、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)