強(qiáng)大的Python完全用Python工作_第1頁
強(qiáng)大的Python完全用Python工作_第2頁
強(qiáng)大的Python完全用Python工作_第3頁
強(qiáng)大的Python完全用Python工作_第4頁
強(qiáng)大的Python完全用Python工作_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

完全用Python工作…HarnessthepowerofPython作占:石闈濃第一天,太初有道,神諭,importlight,于足使有光.(Quickfact:在python解擇器里輸入importantigravity有彩璽)作為一個(gè)業(yè)余物理I:作者以及入門計(jì)算機(jī)使用者,選擇一門稱手的編程語言是非常重要的事.從計(jì)算能帶,處理數(shù)據(jù),編寫腳本到畫圖,寫個(gè)http服務(wù)器分享文件(君上去很專業(yè),實(shí)際在Python里只有一行),做個(gè)網(wǎng)頁,凡于全部需要計(jì)算機(jī)完成.但是為了這其中每個(gè)不同的目的單獨(dú)去學(xué)一門語言成本簡直過于高,于足需要一個(gè)一般用途(general-purpose)的語言,處理所有的事是非常自然的事情.編程語言的兩極是Assembly和Haskell,—個(gè)接近硬件的本質(zhì),一個(gè)接近計(jì)算的本質(zhì).一個(gè)是地獄,處理若最繁頊最耗神的事情:內(nèi)存分配,系統(tǒng)調(diào)度,硬件架構(gòu),各種寄存器A1,B2…一個(gè)是天堂,優(yōu)美的寫若遞歸,高階函數(shù),lambda表達(dá)式,優(yōu)美的井行計(jì)算(完全不用考慮racecondition).然而我們生活在人間,所以大規(guī)模應(yīng)用的語言不可能如此純抨.兩端中間游離著很Zgeneral-purpose的語言,C,C++,Java,Ruby,兒乎都能達(dá)到我們所有R常的要求.只不過,這些語言能做的Python都能做,而flPython做徊更好。接卜?來我說明為什么。但是要說明本文的讀者不包括寫嵌入式,寫javascript以及寫大型項(xiàng)目對性能要求極高的人(即使是大型項(xiàng)目也可以80%用python.20%用CK當(dāng)然還仃就是java和C++的重度患者。(完全使用XX工作意思不是”所有人都完全使用XXI:作”!顯然只是部分人,更多的是.非專業(yè)編程但是想提高效率的人。比如之前有篇〈完全使用*nixI:作〉,C#.ios開發(fā)的人顯然就一下也不能用?對于我,linux再好我也只能裝在老電腦上交交CS225的作業(yè)?當(dāng)我把mint,opensuse,archlinux裝遍了,下一步就是gentoo了的時(shí)候,否決它只有一條理由.我筆記本電池不經(jīng)用,而桌面linux的電源管理……感謝我的cpu風(fēng)扇~!)首先,我想說的是,為什么不用下面這些大部分人很熟悉的語言:C:你難道指針扎得不疼么?每天收垃圾很舒撮?鍵盤上P右邊兩個(gè)鍵是不是已經(jīng)按壞了?C++:學(xué)C++三年以內(nèi)請不要說你會C++;學(xué)了三年以上的人,麻喜你們,你過去兒年浪費(fèi)的時(shí)間我可以拿者香飄飆環(huán)繞地球一圈了.Java:不好意思,Java的面向?qū)ο髮ξ襾碚f是原子彈打原子.而且Java7才引進(jìn)Lambda表達(dá)式實(shí)在是太晚了,即使java以后會跟python越來越像,至于支持夏正的函數(shù)式編程?我希望下個(gè)末日之前可以實(shí)現(xiàn).而且有時(shí)候我確實(shí)需要單行執(zhí)行的解釋器而Java并沒有。Ruby:Ruby很好,但是你為什么不直接說你只是為了用RoR?Lisp:如果你用lisp,你平時(shí)肯定會用python或者perl寫腳本。而且你會Lisp不去拯救世界還來看這篇文章干什么?!抽象語法樹什么的最討厭了?…Perl:我第一次看Perl的代碼就感覺像用腳寫的.-為什么滿屏的正購表達(dá)式?"!C#,php,javascript:IW呵。Shell:這算沿吉么?Matlab:第一,我窮酸學(xué)生沒錢每年買你的正版,看到激活碼就想吐。第二,我不恩心血來潮fli兩個(gè)心形函數(shù)的時(shí)候用Imb的窄帶花兩天下個(gè)5.03Gb的文件在我128Gb的周態(tài)硬盤里裝.然后用完兩個(gè)小時(shí)就刪.如此循環(huán)。第三,我會python了不想再花時(shí)間學(xué)你的sb語法,熟悉你的.m文件。第四,所有對windows的壟斷的血淚控訴都直接對mathwork轉(zhuǎn)過來吧~什么對開源,對自由,對的打擊信仰?絕對適用?第五,python大部分時(shí)傾如果不比你好用至少跟你一樣好用.而這只是它不到10%的功能,幾個(gè)程序員業(yè)余時(shí)間寫出來的庫。真心matlab你這個(gè)沒事發(fā)郵件“培訓(xùn)一個(gè)星期2000〃打折700刀”的大公司滾粗,Haskell:每次想伊下心來學(xué)haskell都會情不自禁從范疇論看起...?對于單純程序語言的使用者來說.用途(內(nèi)在邏機(jī))大于一切不必要的濟(jì)言細(xì)節(jié)。比如我就想建個(gè)數(shù)組放東西.為什么我要怪內(nèi)存回收?!所以在易用性方面,Python相對于他們作了很大改進(jìn)的部分。好吧,你會說Python沒有缺點(diǎn)么。確實(shí)有,而且很嚴(yán)蟲,那就是運(yùn)行慢。而且是慢出風(fēng)格,慢出自信。(Python3比Python2慢15%以上,這是一種什么風(fēng)格!)相同的程Python比C慢兀百倍很正常。這讓Python的發(fā)展受到很多限制。但是對于個(gè)人使用來說這個(gè)缺點(diǎn)完全不屬于缺點(diǎn)。第?,這個(gè)年代誰沒仃奔騰酷容2什么的。你手機(jī)的運(yùn)行能力都可以幾毫秒內(nèi)把你在廁所拍的幾F張自拍液化.磨皮,磨骨好幾遍而且你覺得0.01秒和0.5秒的區(qū)別真的那么大么?12秒也不是很久啊。第二,很大程度上程序的慢更關(guān)乎于算法.比起0(n〉和0(n¥)的區(qū)別,語言間的差異就顯得很小了,笫三,清注意,如果你使用過Python而且真實(shí)的覺得Python慢.那么情看下這個(gè)列表:Google創(chuàng)立前的笫一個(gè)網(wǎng)絡(luò)爬蟲。Quora,美國慢大在線知識問答平臺,開復(fù)哥怠是在上面拽文的。Dropbox.YoutubeBT,如乎,中國的Quora.豆端.開創(chuàng)社交工具綠色系代表yp的先河?你知道我要說什么了恩?他們仃?個(gè)共同點(diǎn) 都是Python寫的!如果tmd的Dropbox沒有覺得Python慢.請你也有足夠的信心不要覺得Python隊(duì)另外八卦?下,現(xiàn)在Python之父前兩天從google去Dropbox了-這是很值得自豪的事,值得Dropbox為之自豪.Python是荷蘭人vanRossuml991年開發(fā)完成的腳本解釋語言。起這個(gè)腦缺的名字是因?yàn)樗且粋€(gè)叫做MontyPython的腦缺喜劇團(tuán)體的腦殘粉?BBV.MontyPython出演的巨蝌與圣杯是英國電影史上跟大話西游同樣地位的喜劇.其中亞瑟王破黑成了炭.里面圓桌騎士們拿若塊石頭敲來敲去各處蹦達(dá)若,看影評我才知道這是表示他們在猗馬%&x().于是人們知道以這么腦殘的名字取的語言不是像brainfuck語言一樣是brainfucker,那么就會像莫里蓋爾曼以喬伊斯"芬尼根的守夜人"中虛構(gòu)名詞來命名的夸克一樣,成為一個(gè)一個(gè)不朽的新創(chuàng)造。Python顯然屆于后者。接下來,說正題,為什么Python如此先進(jìn)(對于初學(xué)者)。代碼簡潔性和可讀性寫過helloworld,helloandroid,hello?*的人都知道.學(xué)語言最好的途徑就是寫和讀(即使是學(xué)書面的自然語言)。所以代碼的可讀性是選擇學(xué)一門語言的關(guān)鍵因素.因?yàn)槟愦院髸ê芏鄷r(shí)間讀別人的代碼。可讀性帶來的影響是非常深遠(yuǎn)的。有種說法,說在遙遠(yuǎn)的占代阿拉伯?dāng)?shù)字傳入之前歐洲之前,其數(shù)學(xué)發(fā)展兒乎為0,而造成這種緩慢的原因就是因?yàn)閺?fù)雜的羅馬數(shù)字的廣泛使用。這表明很多時(shí)候即使我們不愿邀承認(rèn),往往是形式?jīng)Q定的內(nèi)容.比如羅馬數(shù)字沒有0,自然很多數(shù)學(xué)概念就碓以發(fā)展.沒有流形也不可能發(fā)展廣義相對論一樣.所以 如果想以后從此過上幸福的生活,清不要選用perl.如果不幸選擇了perl,那么就君就一入侯門深似海,從此簫郎是路人了。當(dāng)以后你兩行活淚的看著日己十天前寫的不過10幾行的楔形文字時(shí),你就會明白.而Python的司讀性是我見過最好的:Python的代碼格式使用縮進(jìn)而不是括號。首先節(jié)省了很多行數(shù),變得而為緊溪,而美觀.相傳的俄羅斯人偷美國NASA的C代碼那個(gè)段子滿屏括號的情況是不可能出現(xiàn)Python版本的.第二,邏輯相當(dāng)渚晰.循環(huán)的結(jié)束與開始一目了然.第三,屏雅右方得到充分利用.比如使用24寸屏幕的人是不是侍覺自己總是望看左邊編程..…和17寸等高的屏幕區(qū)別不大,很費(fèi)右邊的電.比如,這是某個(gè)C用來圖像采樣的算法的代碼:/.[ >i>n[t?/*include<sstdio.h>

—1d]_<n?ab?o>r>i>=XC0nr0)l..._ A.\..tuinndcclfu.dset<rsitcdti_oa.nhs>i/_*/,char*d-*Pl* *d\n%d\40%d*/??/*\nld\n\0(M>i*,b(1024]ty[]*yuriyuratararayuruyuri*<101jiken^*akkari**???*?/y>u?k/riin<ty(wyr)t,*yuruyurwiyuriyurara*rariayuruyuriyuriyu>rarararnyuruy9uriyu3riyurnr_nBrIaPrOaWy"?*;hrroni<dp/f?i*!i/<ii(f)n(tpgunt<cnhfmirh(/.[ >i>n[t?/*include<sstdio.h>

—1d]_<n?ab?o>r>i>=XC0nr0)l..._ A.\..tuinndcclfu.dset<rsitcdti_oa.nhs>i/_*/,char*d-*Pl* *d\n%d\40%d*/??/*\nld\n\0(M>i*,b(1024]ty[]*yuriyuratararayuruyuri*<101jiken^*akkari**???*?/y>u?k/riin<ty(wyr)t,*yuruyurwiyuriyurara*rariayuruyuriyuriyu>rarararnyuruy9uriyu3riyurnr_nBrIaPrOaWy"?*;hrroni<dp/f?i*!i/<ii(f)n(tpgunt<cnhfmirh(4uf)a.f)vivn<tf/g> ni?/*i*k(MMi>**b*4>lIrb*,int/^/u;for(i=0;i<101,iV)yti*2]>*TAtrv?**<taG*eoansqu?12**:(wn\*l1))v9wI3S3{/Y,IgcCpvedlIwudvOKcct*[|jui)>(i>2f1]?<-A??/?=(n>lU(.(1][0] aIIbIIKD/?y/riynr<**(??")),]c?h??(>f*o<r<(■)?/3m/??/chnr???)(FILE”,*q;intmxr.nrr(alr2a82^y2*/u*r(uyulriOcyurhiyua^^rrar^^arnyra*^**/q=(n<3II!(b(2](0]」-*I|?[2)(1l))??tdout/?](*)??)>yo>u?ir>?u***y>u~r>i*iwr<)<returnlprintf(*Can**not\i20open\4(Mlo\40*(?tkj?lor(otwvnc\*gt\*yogYUKUTURI*(

?=*\0*))?fopen(ii|lLy*298):stdin.<2<5<64.)]3.yrvd)/[?o=?2]5?*(i3*UA.(?■*-fl.)<)<|<|.6>4>-*(>?/*read*:*writ*),for(ifk-u20,y(u],u=2??Y/R,Y-R".p/W)/,?/sscanft^4,Di,AA”]A<1<6<?<b.^1>3>?:*.1>34Wu*f.)fprintf(q.d,k.R?/)>AU(7&x)M/<]>?/((?)=/?(p>4.)for(r=i=0(r).q);if(y[u(fMAIOR】.(a255;if(lM0>=*>]i>(w)-J((幻=59/??/>u>t>-]s.)(u*-6.uf=(-).)?><!.H16)k-A.ifI?/=a/***for\40Ufling\n\.['p?l:2j.!p?/>A-l.9-2-)-|-|.28>-w-?-?.:>([28f4u)(y[h4, )~y[uj.)>f((nfrcad(br1,1024/*2AAb/7,/[0】/,U,/=?p?AA4二二/?(k6AJU5)tAr255)(uA.if(n>3)(/?-;.u*=W.l<0<<;f<o<r<(.;<((■(=)/??/?lfi?hr).u>?*(.yryr,/,((n>3?l:0).if>;“??)<k-5?8:4.k^3jelseMU>17)?8/4:8^5/(y[u]&01)fputc(/*<)?(H.f>([180t/l?(ylu]A2)k—;if(iA(y?u))?(10/?J<?.nn/?*o(ri(r?4:2):(y[u]

y)ru\=?ri(

fclose(fread(M.1024.p))M)break;i~0;}r-b(i?*]

?..</<?)<I(J

M)?(k?2:4):2,u=y[u/t

.Bclo.n)trientmirenreturnk-■z?P)A=,fclog(q).d;W}」}}/?V ,-1/(;())好吧,很帶萌感,畫風(fēng)也很不惜.但是Python也不是寫不出混亂的代碼,或者說只要有一定自由性的語言就可以寫出。比如沒事寫個(gè)(PseudoCode):booleanAlwaysTrue=False;或者intMagicNumber=42;什么的。這個(gè)是Python版,完全不符合Python哲學(xué)。Python的思想上面一點(diǎn)是語言形式的,C也可以改成縮進(jìn).所以此項(xiàng)不是核心優(yōu)勢.而使用一門語言是使用它的思想.丁是要談到Python的哲學(xué),TheZenofPython.在python命令行里輸入importthis可以看到,:Beautifulisbetterthanugly.美優(yōu)丁丑Explicitisbetterthanimplicit.晰勝于渾Simpleisbetterthancomplex.簡勝于繁Complexisbetterthancomplicated.繁勝于雜Flatisbetterthannested.平勝于修Sparseisbetterthandense.稀勝于稠Readabilitycounts.可讀至上Specialcasesaren*tspecialenoughtobreaktherules.殊例不足違訓(xùn)Althoughpracticalitybeatspurity.雖實(shí)用大于純梓Errorsshouldneverpasssilently.謬不可疏Unlessexplicitlysilenced.除明示Inthefaceofambiguity,refusethetemptationtoguess.晦不存疑Thereshouldbeone-andpreferablyonlyone-obviouswaytodoit.—Althoughthatwaymaynotbeobviousatfirstunlessyou'reDutch.若非尼德蘭紅毛,法難定(……科學(xué)沒有國籍)Nowisbetterthannever.今勝于無Althoughneverisoftenbetterthan*right*now.無勝于促Iftheimplementationishardtoexplain,it'sabadidea.難述其施,謬法也Iftheimplementationiseasytoexplain,itmaybeagoodidea.其施可述,或可行Namespacesareonehonkinggreatidea??let'sdomoreofthose!命名空間,多多益善如果覺得俺翻譯得太爛可以看英文.但是你看到?個(gè)物品/工具/器件/用品的設(shè)計(jì)理念是如上時(shí),除開認(rèn)為設(shè)計(jì)者裝道之外,必定會覺得這個(gè)工具是十分可拳,渚炙的.首先看到這個(gè)蹩腳的詩我就想到的是Unix偉大的親嘴原則(KeepItSimpleandStupid),而Python的碰如此。(部分)解讀如下:美優(yōu)于丑。我只想舉一個(gè)例子,你們感受一下(哈哈哈哈)。學(xué)C語言寫輾轉(zhuǎn)相除的novice們先include你的stdio去吧:defgcd(x,y):whiley:x,y=y,x%yreturnx明晰勝于渾晦:Python邏輯與或用and和or而不是&&和||簡勝于景,繁勝于雜,平勝于嵌,稀勝于稠可讀至上:分別用C和Python寫個(gè)helloworld就能明白。特例不足違反規(guī)則:這句話城好的例子是Python沒有char類型。因?yàn)榇蠡飪赫J(rèn)為char只是一位的字符串。實(shí)用大于純樺:于是Python里有chr().謬不可疏除明示:有時(shí)候exception還是此要的的不存疑,一法萬用:與其用iterator,for循環(huán),指針移動.數(shù)組下標(biāo)移動.不如一個(gè)for..?in...直接解決問題.list,diet和tuple的數(shù)據(jù)站構(gòu)也是希望能適用于絕大部分場合。這三位可以在必要的時(shí)候變成:列表.棧.隊(duì)列.哈希表,七七八八各種東西.???函數(shù)的參數(shù)也勉強(qiáng)可以算進(jìn)來。利用*和",python的函數(shù)參數(shù)靈活性無以復(fù)加。若非尼德蘭紅毛,法難定:第一次看到荷蘭人寫的xx=ifyy>0then0else1是不是想哭…中間幾句太哲學(xué)了..…:胳過...?命名空間,多多益善:面向?qū)ο蟆皇强票茸罱鼞?zhàn)績太差…這些特性簡直可以形容為黑曼巴…靈活,準(zhǔn)確,快速,強(qiáng)力。Python語法的優(yōu)美之處數(shù)不勝數(shù),難以名狀,深入人心,犬牙交錯(cuò),人神共憤,不隨意肌。諾法是思想的延伸,有人說你學(xué)一門新話言而不學(xué)習(xí)新的思想則。還是新評裝舊酒。由于我不是tutorial.就不??講述所仃的細(xì)節(jié)了。只列舉下最好和簡單的特性,而像decorator(面向切面).generator.多線程,itertools.—次肯定也講不完。Python中的整數(shù)相當(dāng)于C中的K整型(long),32位的機(jī)器上整型取值范圍為-2147483648至2147483647,64位機(jī)器上為-9223372036854775808到9223372036854775807。Python的長整型是無限制的?只要內(nèi)存允許。很相似的是Python里的無限list..一個(gè)很著名的例子是使用生成器(generator).就可以生成一個(gè)無限長的Fibonacci數(shù)列;deffib():a=b=lwhileTrue:yieldaa,b=b,a+b這個(gè)數(shù)列號稱無限K,其實(shí)是需要運(yùn)算哪一位時(shí)才計(jì)算。這就是著名的惰性求值。Python中的K整型和無限list的戰(zhàn)念均來自于HaskelL對于C和C++要處理大數(shù)據(jù)要使用高精度算法,用一個(gè)struct表示一個(gè)大數(shù),使用一個(gè)array儲存它,然后自定義運(yùn)算函故(加減乘除)。Listcomprehension,切片等操作使用listcomprehension可以牡絕掉50%以上的for循環(huán),后者的效率極其低下(可以看君C源碼的實(shí)現(xiàn)),而且不夠緊湊。我之前上面舉的笫一個(gè)粒子就是listcomprehension的很好的運(yùn)用。隨便舉個(gè)python官方文檔的粒子:>>>[(x,y)forxin[1,2,3]foryin[3,1,4]ifx!=y]運(yùn)行站果得到,[(1,3),(1,4),(2r3),(2Z1),(2,4),(3,1),(3,4)]反轉(zhuǎn)?個(gè)數(shù)列的例氏是個(gè)one-liner:lis[::-l]正則表達(dá)式Python正則表達(dá)是內(nèi)殂的。一個(gè)粒子是我在實(shí)驗(yàn)室測試JosephsonJunctions時(shí)碰到的情況,簡化的說就是:我有幾百個(gè)文件夾,每個(gè)文件夾有幾百個(gè)文件,每個(gè)文件有幾力條數(shù)據(jù),每凡個(gè)數(shù)據(jù)我要處理完然后存在另外一個(gè)文件夾的另外一個(gè)文件里。我要做的工作有:?用正財(cái)表達(dá)式找到我要的文件夾和文件,剔除不需要的。?逐行讀出txt文件里面的數(shù)據(jù)?每幾個(gè)數(shù)糖設(shè)個(gè)參數(shù)平均,最小二乘處理,剔除幾個(gè)極端情況,畫出圖?保存這里Python就起到了一個(gè)防本話言應(yīng)盡的責(zé)任了。整個(gè)從打開文件到保存不超過150行,還加上我羅哩叭嗦的注釋。如果用C寫…呵呵呵呵呵呵。當(dāng)然這個(gè)fflShell也不會太差,不過實(shí)驗(yàn)室用的是windows,用windowsW本我還不如去死。自從我寫完這個(gè)腳本后,從此我們實(shí)驗(yàn)室的testing就過上了幸福的生活。(可能么?)reduce,lambda,filter和map這些全來自于函數(shù)式編程。比如找到prime之內(nèi)的質(zhì)數(shù):filter(lambdaprime:all(prime%numfornuminrange(2,prime)),range(2,prime))如果作為中文讀出來則是(prime是之前給定的一個(gè)數(shù)):在2到prime之間,過迪出那些所有不被2到自己霍除的數(shù)。雄道還能更簡單么!如果用的C,HM.這里出現(xiàn)了ZenofPython沒有提到但是是Python里非常重要的一點(diǎn),對“數(shù)“的操縱。畢達(dá)哥拉斯信奉一切皆數(shù),程序語言更應(yīng)算更是如此,只有對?,數(shù)“和??類型”的完全掌控,才能如魚得水。5.語言的動恣性Python足動態(tài)諾古.這是非常重要的一點(diǎn).一且忘了說.這一點(diǎn)可以直接充爆C++自己一向閂挈的泛型編程.棋板編程.11右一個(gè)strangeness為0的粒了:defbuild(type#value):returntype(value)buildCint,0)所以稀飯們請看過來.你們家C可以飛行寫出這種東西么?!!沒完.接若:defimpose(funcrvalue):returnfunc(value)defanyfunc(value):returnvalue*valueprintimpose(anyfunc/value)#此處是python2.7的語法一看就知道是函數(shù)式編程。請問C可以么?!當(dāng)然還右之前說的函數(shù)參數(shù)的靈活性:如果定義一個(gè)函數(shù)defprint_whatevercrapsthefuckinguserinputs(**params):printparams你就可以想輸入多少參數(shù)就輸入多少了,比如print_whatevercrapsthefuckinguserinputs(*iH/,dont',/"give","a","fbdc),只要有print函數(shù)的接口(這又涉及了W8子類型和類似haskell的typeclass的性質(zhì).呱...?)?其實(shí)際作用是比如你想在數(shù)據(jù)庫里輸入大批最用戶信息,miamigo.對于這樣一個(gè)Ilf疼的函數(shù)名字,調(diào)用一次就夠了。在Python里類型,函數(shù).全部都是可操作的對象?這可以改變一切“第一個(gè)例子顯示了對數(shù)據(jù)類型的操作,第二個(gè)是對函數(shù)的操作,第三個(gè)是對參數(shù)的控制.我不想想象用C寫這個(gè)例子了,因?yàn)镃根本寫不出來。以上所有這些Python的特性,你可能說我用C實(shí)現(xiàn)一個(gè)一樣的就好了。誠然,你可以在C里一個(gè)個(gè)寫出來自己喜歡的特性,但是你寫到后面你會發(fā)現(xiàn)你只是再次發(fā)明了Python,然后拿C重新寫了一個(gè)解釋器,而且實(shí)現(xiàn)得更爛而已。Please!Don'tre-inventthewheel.Python的類庫齊全對于我們普通人來說一個(gè)語言最頁要的還是庫函數(shù)的齊仝程度,Java在此方面巳經(jīng)卷蜂造極了。而現(xiàn)在的Python不輸于他。一個(gè)語言的火熱程度可以從類麻看出,卜面是github上 語 言 的 排 名:TopLanguages由于Javscript的特殊性和Ruby的RoR我們就不去管它了,Python占8%,C占6%.貌似差得不遠(yuǎn),恩.但是如果你仔細(xì)看C的project,隨便翻十頁可能發(fā)現(xiàn)會有三頁的項(xiàng)目其實(shí)是在寫python的類庫.真是母親為孩子顯出一切.另外一個(gè)說明Python類庫齊全的例子是我這個(gè)學(xué)期彼某教授壓者要算一個(gè)固體模型的Berry'sPhase.正值final之前,如何有心思寫這■?一籌莫展之際竟然發(fā)現(xiàn)python有個(gè)固體算能帶和巴里態(tài)的庫??!nm這也能有!?仔細(xì)觀摩了下源代碼,1000來行,干凈整潔,速度用之,皆大歡喜.這種小眾庵都有我已經(jīng)不能想象你有什么變態(tài)要求Python不能滿足了.以下是一些常用的類麻.1.如果你

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論