當前位置:編程學習大全網 - 編程語言 - 小弟我為什麽要學習python

小弟我為什麽要學習python

簡單:Python是壹種代表簡單主義思想的語言。閱讀壹個良好的Python程序就感覺像是在讀英語壹樣。它使妳能夠專註於解決問題而不是去搞明白語言本身。易學:Python極其容易上手,因為Python有極其簡單的說明文檔。速度快:Python 的底層是用 C 語言寫的,很多標準庫和第三方庫也都是用 C寫的,運行速度非常快。高級語言:用Python語言編寫程序的時候無需考慮諸如如何管理妳的程序使用的內存壹類的底層細節。豐富的庫:Python標準庫確實很龐大。它可以幫助處理各種工作,包括正則表達式、文檔生成、單元測試、線程、數據庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI(圖形用戶界面)、Tk和其他與系統有關的操作。這被稱作Python的“功能齊全”理念。除了標準庫以外,還有許多其他高質量的庫,如wxPython、Twisted和Python圖像庫等等。可移植性:由於它的開源本質,Python已經被移植在許多平臺上(經過改動使它能夠工作在不同平臺上)。首先我們來聽聽圖靈獎獲獎得主,Allan Perlis,說過的話,“如果壹門語言沒有改變妳的編程思維,那麽它不值得妳去學習”。如果這麽說,我們大學的時候,學習了c,c++,java,C#,算是值得學習麽?很多時候是不值得,我覺得我們大學的課程就是用java,c#,c++把"C程序設計"又上了壹遍. 這是因為,學校的老師會C和java之類的,所以要跟著規矩開這門課,(這也就是為什麽,許多學校還在教vb,),這也就是為什麽,妳所以為的壹樣就是大家都有For都有while,都有switch..都有Class...都有int 都有float,所謂的不壹樣就是用C有指針,java沒有,這就是為什麽教育是失敗的,這也就是為什麽,我目前認識的幾個編程大牛,都不是計算機專業畢業的... python的優點:簡單 我所說的簡單,是相比於象C和C++這樣的語言,妳為了編程,要學習許多偏底層的東西. 在比如,妳在學習壹個新的編程範式,或者想要馬上做個例子看看,試驗某個API,如果妳是寫java的,妳不得不去寫壹個main,寫壹些構造,即使有IDE這樣的東西,能夠為妳帶來代碼生成器,而我做得就是寫壹段“腳本”,或者打開python交互式解釋器就行了。這在寫算法時就能夠表現出來,比如我要寫壹個快速排序:如果用C語言寫:void q_sort(int numbers[], int left, int right) { int pivot, l_hold, r_hold; l_hold = left; r_hold = right; pivot = numbers[left]; while (left < right) { while ((numbers[right] >= pivot) && (left < right)) right--; if (left != right) { numbers[left] = numbers[right]; left++; } while ((numbers[left] <= pivot) && (left < right)) left++; if (left != right) { numbers[right] = numbers[left]; right--; } } numbers[left] = pivot; pivot = left; left = l_hold; right = r_hold; if (left < pivot) q_sort(numbers, left, pivot-1); if (right > pivot) q_sort(numbers, pivot+1, right); } 為什麽這麽長?因為除了表達快速排序的思想,妳還要寫數組分區,swap交換,for i,j的多壹少壹,都可能出現錯誤.... def qsort(lis): if len(lis) == 0: return [] else: low = [] hig = [] for x in lis[1:]: if x < lis[0]: low.append(x) else: hig.append(x) low = qsort(low) hig = qsort(hig) return low+lis[:1]+hig 當然高手可以寫的更短: def qsort(L): if not L: return [] return qsort([x for x in L[1:] if x< L[0]]) + L[0:1] + qsort([x for x in L[1:] if x>=L[0]]) 因為動態語言,在使用上,比靜態語言要活,妳可以自由的表達,但是如果是用java,C++這樣的靜態語言,想要表達自己的思想, 就沒有那麽容易. 學習曲線python很值得妳去深入研究,因為妳玩得越熟,它給妳所帶來的回報越高,人們常說,java初學者和java大師寫出的代碼差不多,但是python初學者,python高手寫出來的代碼,簡直就是天壤之別。就拿簡單的階乘函數吧. 新手可以這麽寫: def factorial(x): if x == 0: return 1 else: return x * factorial(x - 1) 高手這麽寫: f = lambda x: x and x * f(x - 1) or 1 FP函數式編程 python是面向對象的,也可以面向過程但下面我們用“函數式編程”來談談它的好處下面是壹個計算器的例子,《大話設計模式》的第壹章,就是使用這個例子來闡述oop和設計模式的強大,首先壹種被認為糟糕的寫法是這樣的: (以下代碼來自啄木鳥社區,如果有版權問題,請告訴我,我馬上刪除)public class Calculator { static public double Foo(char op, double x, double y) { switch(op) case '+': return x+y; break; case '-': return x-y; break; case '*': return x*y; break; case '/': return x/y; break; default: throw new Exception("?") } } 恩,不可重用,不可維護,不可擴展,不夠靈活。那些相信“設計模式”和java的狂熱分子,要開始改這個代碼了. 先來壹個接口:python已經算很好學的編程語言了,這個都不願意學,我敢說這世界上沒有哪種語言能讓妳耐下心來學了。壹句話,妳可以不學,沒人強迫妳。

  • 上一篇:進口黑色mc尼龍板價格多少?尼龍板有什麽優點?
  • 下一篇:學UI設計還是web前端開發?
  • copyright 2024編程學習大全網