姓名:于川皓 學(xué)號(hào):16140210089
轉(zhuǎn)載自:
【嵌牛導(dǎo)讀】:python是一種能夠廣泛應(yīng)用的高級(jí)語(yǔ)言,那么它有什么優(yōu)點(diǎn)和缺點(diǎn)呢?
【嵌牛鼻子】:編程語(yǔ)言
【嵌牛提問】:python的特點(diǎn)侮叮?
【嵌牛正文】:python作為一門高級(jí)編程語(yǔ)言渔肩,它的誕生雖然很偶然,但是它得到程序員的喜愛卻是必然之路。
龜叔給Python的定位是“優(yōu)雅”、“明確”、“簡(jiǎn)單”赚抡,所以Python程序看上去總是簡(jiǎn)單易懂,初學(xué)者學(xué)Python纠屋,不但入門容易涂臣,而且將來深入下去,可以編寫那些非常非常復(fù)雜的程序售担。
python語(yǔ)言的優(yōu)點(diǎn)
⑴作為初學(xué)python的科班出身的小白赁遗,python非常簡(jiǎn)單闯估,非常適合人類閱讀。閱讀一個(gè)良好的Python程序就感覺像是在讀英語(yǔ)一樣吼和,盡管這個(gè)英語(yǔ)的要求非常嚴(yán)格涨薪!Python的這種偽代碼本質(zhì)是它最大的優(yōu)點(diǎn)之一。它使你能夠?qū)W⒂诮鉀Q問題而不是去搞明白語(yǔ)言本身炫乓。
⑵易學(xué)刚夺。python雖然是用c語(yǔ)言寫的,但是它擯棄了c中非常復(fù)雜的指針末捣,簡(jiǎn)化了python的語(yǔ)法侠姑。
⑶Python是FLOSS(自由/開放源碼軟件)之一。簡(jiǎn)單地說箩做,你可以自由地發(fā)布這個(gè)軟件的拷貝莽红、閱讀它的源代碼、對(duì)它做改動(dòng)邦邦、把它的一部分用于新的自由軟件中安吁。Python希望看到一個(gè)更加優(yōu)秀的人創(chuàng)造并經(jīng)常改進(jìn)。
⑷可移植性————由于它的開源本質(zhì)燃辖,Python已經(jīng)被移植在許多平臺(tái)上(經(jīng)過改動(dòng)使它能夠工作在不同平臺(tái)上)鬼店。如果你小心地避免使用依賴于系統(tǒng)的特性,那么你的所有Python程序無需修改就可以在下述任何平臺(tái)上面運(yùn)行黔龟。這些平臺(tái)包括Linux妇智、Windows、FreeBSD氏身、Macintosh巍棱、Solaris、OS/2蛋欣、Amiga航徙、AROS、AS/400豁状、BeOS捉偏、OS/390倒得、z/OS泻红、Palm OS、QNX霞掺、VMS谊路、Psion、Acom RISC OS菩彬、VxWorks缠劝、PlayStation潮梯、Sharp Zaurus、Windows CE甚至還有PocketPC惨恭、Symbian以及Google基于linux開發(fā)的Android平臺(tái)秉馏!
⑸在計(jì)算機(jī)內(nèi)部,Python解釋器把源代碼轉(zhuǎn)換成稱為字節(jié)碼的中間形式脱羡,然后再把它翻譯成計(jì)算機(jī)使用的機(jī)器語(yǔ)言并運(yùn)行萝究。事實(shí)上,由于你不再需要擔(dān)心如何編譯程序锉罐,如何確保連接轉(zhuǎn)載正確的庫(kù)等等帆竹,所有這一切使得使用Python更加簡(jiǎn)單。由于你只需要把你的Python程序拷貝到另外一臺(tái)計(jì)算機(jī)上脓规,它就可以工作了栽连,這也使得你的Python程序更加易于移植。
⑹Python既支持面向過程的函數(shù)編程也支持面向?qū)ο蟮某橄缶幊糖扔摺T诿嫦蜻^程的語(yǔ)言中秒紧,程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來的。在面向?qū)ο蟮恼Z(yǔ)言中挨下,程序是由數(shù)據(jù)和功能組合而成的對(duì)象構(gòu)建起來的噩茄。與其他主要的語(yǔ)言如C++和Java相比,Python以一種非常強(qiáng)大又簡(jiǎn)單的方式實(shí)現(xiàn)面向?qū)ο缶幊獭?/p>
⑺ 可擴(kuò)展性和可嵌入性复颈。如果你需要你的一段關(guān)鍵代碼運(yùn)行得更快或者希望某些算法不公開绩聘,你可以把你的部分程序用C或C++編寫,然后在你的Python程序中使用它們耗啦。你可以把Python嵌入你的C/C++程序凿菩,從而向你的程序用戶提供腳本功能。
⑻豐富的庫(kù)帜讲。Python標(biāo)準(zhǔn)庫(kù)確實(shí)很龐大衅谷。python有可定義的第三方庫(kù)可以使用。它可以幫助你處理各種工作似将,包括正則表達(dá)式获黔、文檔生成、單元測(cè)試在验、線程玷氏、數(shù)據(jù)庫(kù)、網(wǎng)頁(yè)瀏覽器腋舌、CGI盏触、FTP、電子郵件、XML赞辩、XML-RPC雌芽、HTML、WAV文件辨嗽、密碼系統(tǒng)世落、GUI(圖形用戶界面)、Tk和其他與系統(tǒng)有關(guān)的操作糟需。記住岛心,只要安裝了Python,所有這些功能都是可用的篮灼。這被稱作Python的“功能齊全”理念忘古。除了標(biāo)準(zhǔn)庫(kù)以外,還有許多其他高質(zhì)量的庫(kù)诅诱,如wxPython髓堪、Twisted和Python圖像庫(kù)等等。
⑼ Python確實(shí)是一種十分精彩又強(qiáng)大的語(yǔ)言娘荡。它合理地結(jié)合了高性能與使得編寫程序簡(jiǎn)單有趣的特色干旁。
⑽規(guī)范的代碼。Python采用強(qiáng)制縮進(jìn)的方式使得代碼具有極佳的可讀性炮沐。
python語(yǔ)言的缺點(diǎn)
很多時(shí)候不能將程序連寫成一行争群,如import sys;for i in sys.path:print i。而perl和awk就無此限制大年,可以較為方便的在shell下完成簡(jiǎn)單程序换薄,不需要如Python一樣,必須將程序?qū)懭胍粋€(gè).py文件翔试。(對(duì)很多用戶而言這也不算是限制)
⑴運(yùn)行速度轻要,有速度要求的話,用C++改寫關(guān)鍵部分吧垦缅。不過對(duì)于用戶而言冲泥,機(jī)器上運(yùn)行速度是可以忽略的。因?yàn)橛脩舾靖杏X不出來這種速度的差異壁涎。
⑵既是優(yōu)點(diǎn)也是缺點(diǎn)凡恍,python的開源性是的Python語(yǔ)言不能加密,但是目前國(guó)內(nèi)市場(chǎng)純粹靠編寫軟件賣給客戶的越來越少怔球,網(wǎng)站和移動(dòng)應(yīng)用不需要給客戶源代碼嚼酝,所以這個(gè)問題就是問題了。國(guó)隨著時(shí)間的推移庞溜,很多國(guó)內(nèi)軟件公司革半,尤其是游戲公司碑定,也開始規(guī)模使用他流码。
⑶ 構(gòu)架選擇太多(沒有像C#這樣的官方.net構(gòu)架又官,也沒有像ruby由于歷史較短,構(gòu)架開發(fā)的相對(duì)集中漫试。Ruby on Rails 構(gòu)架開發(fā)中小型web程序天下無敵)六敬。不過這也從另一個(gè)側(cè)面說明,python比較優(yōu)秀驾荣,吸引的人才多外构,項(xiàng)目也多。