1、也許最初設(shè)計(jì) Python 這種語(yǔ)言的人并沒有想到今天Python 會(huì)在工業(yè)和科研上獲得如此廣泛的使用。
(資料圖片)
2、著名的自由軟件作者Eric Raymond 在他的文章《如何成為一名黑客》中,將Python 列為黑客應(yīng)當(dāng)學(xué)習(xí)的四種編程語(yǔ)言之一,并建議人們從Python 開始學(xué)習(xí)編程。
3、這的確是一個(gè)中肯的建議,對(duì)于那些從來(lái)沒有學(xué)習(xí)過編程或者并非計(jì)算機(jī)專業(yè)的編程學(xué)習(xí)者而言,Python 是最好的選擇之一。
4、Python 第一次學(xué)習(xí)Python,我只用了不到二十分鐘的時(shí)間,站在書店里把一本教初學(xué)編程的人學(xué)習(xí)Python 的書翻了一遍。
5、也是從那時(shí)起,我開始被這種神奇的語(yǔ)言吸引。
6、 Python 可以用來(lái)開發(fā)symbian 上的東西。
7、 易用與速度的完美結(jié)合Python 是一種用起來(lái)很方便的語(yǔ)言,很多初學(xué)Java 的人都會(huì)被 Java 的CLASSPATH 搞得暈頭轉(zhuǎn)向,花上半天的時(shí)間才搞明白原來(lái)是CLASSPATH 搞錯(cuò)了自己的 Hello World 才沒法運(yùn)行。
8、用Python 就不會(huì)有這種問題,只要裝上就能直接用。
9、 Python 是一種腳本語(yǔ)言,寫好了就可以直接運(yùn)行,省去了編譯鏈接的麻煩,對(duì)于需要多動(dòng)手實(shí)踐的初學(xué)者而言,也就是少了出錯(cuò)的機(jī)會(huì)。
10、而且Python 還有一種交互的方式,如果是一段簡(jiǎn)單的小程序,連編輯器都可以省了,直接敲進(jìn)去就能運(yùn)行。
11、Python 是一種清晰的語(yǔ)言,用縮進(jìn)來(lái)表示程序的嵌套關(guān)系可謂是一種創(chuàng)舉,把過去軟性的編程風(fēng)格升級(jí)為硬性的語(yǔ)法規(guī)定。
12、再不需要在不同的風(fēng)格間選擇、再不需要為不同的風(fēng)格爭(zhēng)執(zhí)。
13、與 Perl 不同,Python 中沒有各種隱晦的縮寫,不需要去強(qiáng)記各種奇怪的符號(hào)的含義。
14、Python 寫的程序很容易懂,這是不少人的共識(shí)。
15、Python 是一種面向?qū)ο蟮恼Z(yǔ)言,但它的面向?qū)ο髤s不象C++那樣強(qiáng)調(diào)概念,而是更注重實(shí)用。
16、不是為了體現(xiàn)對(duì)概念的完整支持而把語(yǔ)言搞得很復(fù)雜,而是用最簡(jiǎn)單的方法讓編程者能夠享受到面向?qū)ο髱?lái)的好處,這正是 Python 能像 Java、C#那樣吸引眾多支持者的原因之一。
17、 Python 是一種功能豐富的語(yǔ)言,它擁有一個(gè)強(qiáng)大的基本類庫(kù)和數(shù)量眾多的第三方擴(kuò)展,使得Python 程序員無(wú)需去羨慕Java 的JDK。
18、Python 為程序員提供了豐富的基本功能使得人們寫程序時(shí)用不著一切最底層做起。
19、說到這里,人們通常會(huì)用一種擔(dān)心:腳本語(yǔ)言通常很慢。
20、腳本語(yǔ)言從運(yùn)行的速度講的確會(huì)慢一些,但 Python 的速度卻比人們想象得快很多。
21、雖然 Python 是一種腳本語(yǔ)言,但實(shí)際上也可以對(duì)它進(jìn)行編譯,就象編譯Java 程序一樣將Python 程序編譯為一種特殊的ByteCode,在程序運(yùn)行時(shí),執(zhí)行的是ByteCode,省去了對(duì)程序文本的分析解釋,速度自然提升很多。
22、在用Java 編程是,人們崇尚一種Pure Java 的方式,除了虛擬機(jī)一切東西都用Java 編寫,無(wú)論是基本的數(shù)據(jù)結(jié)構(gòu)還是圖形界面,而Pure Java 的SWING,卻成為無(wú)數(shù)Java 應(yīng)用開發(fā)者的噩夢(mèng)。
23、Python 崇尚的是實(shí)用,它的整體環(huán)境是用C 來(lái)編寫的,很多基本的功能和擴(kuò)展的模塊都是用 C/C++來(lái)編寫的,當(dāng)執(zhí)行這一部分代碼時(shí),它的速度就是C 的速度。
24、用Python 編寫的普通桌面程序,其啟動(dòng)運(yùn)行速度與用C 寫的程序差別不大。
25、除了這些,通過一些第三方軟件包,用Python 編寫的源代碼還可以以類似JIT 的方式運(yùn)行,而這可以大大提高Python 代碼的運(yùn)行速度,針對(duì)不同類型的代碼,會(huì)有2 倍至100 倍不等的速度提升。
26、 Python 是我見到過的語(yǔ)言中,在易用性和速度上結(jié)合的最完美的一個(gè),通過喪失一點(diǎn)點(diǎn)經(jīng)常可以忽略不計(jì)的運(yùn)行速度從而獲得更高的編程效率,這就是我選擇Python 的原因。
27、把精力放在要解決的問題上選擇一種合適的語(yǔ)言,才能讓你把有限的精力放到最需要解決的問題上。
28、不同的語(yǔ)言有不同的作用,C 和匯編適合編寫系統(tǒng)軟件,如果用它們來(lái)編寫企業(yè)應(yīng)用,恐怕沒幾個(gè)人能得心應(yīng)手。
29、我以前就碰到一個(gè)用匯編寫數(shù)據(jù)庫(kù)程序的哥,雖然最基本的功能完成了,但要增加個(gè)報(bào)表預(yù)覽什么的,他就沒法應(yīng)付了。
30、聰明的程序員是用合適的工具去完成任務(wù),想找一把萬(wàn)能鑰匙是不太可能的。
31、Python 的自動(dòng)的垃圾回收機(jī)制是高級(jí)的編程語(yǔ)言的一種基本特性,用擁有這一功能的語(yǔ)言編程,程序員們通常不用去關(guān)心內(nèi)存泄漏的問題,而當(dāng)我們用 C/C++寫程序時(shí),這卻是最重要的需要認(rèn)真考慮卻又很容易出錯(cuò)的問題之一。
32、數(shù)據(jù)結(jié)構(gòu)是程序構(gòu)成的重要部分,鏈表、樹、圖這些在用C 編程時(shí)需要仔細(xì)表達(dá)的問題在Python 中簡(jiǎn)單了很多。
33、在Python 中,最基本的數(shù)據(jù)結(jié)構(gòu)就是數(shù)組、序列和哈希表,用它們想要表達(dá)各種常見的數(shù)據(jù)結(jié)構(gòu)是非常容易的。
34、沒了定義指針、分配內(nèi)存的任務(wù),編程變得有趣了。
35、CORBA 是一種高級(jí)的軟件體系結(jié)構(gòu),它是語(yǔ)言無(wú)關(guān)平臺(tái)無(wú)關(guān)的。
36、C++、Java 等語(yǔ)言都有CORBA 綁定,但與它們相比,Python 的 CORBA 綁定卻容易很多,因?yàn)樵诔绦騿T看來(lái),一個(gè) CORBA 的類和 Python 的類用起來(lái)以及實(shí)現(xiàn)起來(lái)并沒有什么差別。
37、沒了復(fù)雜體系結(jié)構(gòu)的困擾,用 Python 編寫CORBA 程序也變得容易了。
38、好鋼要用在刀刃上,要想用有限的時(shí)間完成盡量多的任務(wù),就要把各種無(wú)關(guān)的問題拋棄,而Python 恰恰提供了這種方法。
39、跨平臺(tái)又易擴(kuò)展隨著Linux 的不斷成熟,越來(lái)越多的人轉(zhuǎn)到Linux 平臺(tái)上工作,軟件的開發(fā)者自然就希望自己編寫的軟件可以在所有平臺(tái)下運(yùn)行。
40、Java 一次編寫處處運(yùn)行的口號(hào)使它成為跨平臺(tái)的開發(fā)工具的典范,但其運(yùn)行速度卻不被人們看好。
41、實(shí)際上,幾乎所有的著名腳本語(yǔ)言都是跨平臺(tái)的,Python 也不例外。
42、Python 不僅支持各種Linux/Unix 系統(tǒng),還支持Windows,甚至在Palm 上都可以運(yùn)行 Python 的程序。
43、一個(gè)程序想要跨平臺(tái)工作,不僅僅需要語(yǔ)言本身能夠做到在平臺(tái)之間兼容,在圖形化界面的時(shí)代,還需要有能跨平臺(tái)工作的 Widget。
44、Python 不僅支持老一些的 TK,還支持新的GTK+、QT 以及wxWidget,而這些Widgets 都可以在多個(gè)平臺(tái)上工作。
45、通過它們,程序員就可以編寫出漂亮的跨平臺(tái)GUI 程序。
46、Python 通常是運(yùn)行在native 代碼與腳本代碼之間,程序員可以用 C/C++為 Python 編寫各種各樣的模塊,這不僅可以讓程序員以 Python 的方式使用系統(tǒng)的各種服務(wù)及用C/C++編寫的優(yōu)秀函數(shù)庫(kù)和類庫(kù),還可以大幅度提高Python 程序的速度。
47、用C/C++編寫Python 的模塊并不復(fù)雜,而且為了簡(jiǎn)化這一工作,人們還制作了不少工具用來(lái)協(xié)助這一工作。
48、正是因?yàn)槿绱耍F(xiàn)在各種常用的函數(shù)庫(kù)和類庫(kù)都有Python 語(yǔ)言的綁定,用 Python 可以做到的事情越來(lái)越多了。
49、萬(wàn)能鑰匙?Python 功能強(qiáng)大,但它卻不是萬(wàn)能的。
50、如果你要編寫操作系統(tǒng)或驅(qū)動(dòng)程序,很顯然,Python 是做不到的。
51、要寫軟件,沒有哪個(gè)工具是萬(wàn)能的,現(xiàn)在之所以有那么多的編程語(yǔ)言,就是因?yàn)椴煌恼Z(yǔ)言適合做不同的事情。
52、因此,選擇適合自己的語(yǔ)言工具是最重要的。
本文到此分享完畢,希望對(duì)大家有所幫助。


