Python 極簡教程(一)前言

如今 Python 用處不少,學的人也不少,其流行程度自沒必要說。可是不少人學 Python 的時候都遇到過問題,特別對於非計算機專業畢業的人來講。算法

如今的教程很是多,可是絕大部分對於初學者都不夠友好。不少教程爲了求全,把不少不經常使用、初學者從入門到放棄都不會接觸到的內容,一古腦兒所有擺出來,加劇了學習的負擔;要麼是面向有基礎的人羣,不少地方語焉不詳,沒法參照一步步去作。當初我在學習的時候就被坑過不少次,因此想寫一系列面向初學者,甚至沒怎麼接觸過計算機的讀者。但願看教程的人可以一步步的去練習。數據庫

不過學習任何技術都應該有必定的認識,雖然 Python 號稱簡單易學,那都是相對的。學習一門語言,不動手去敲一下,看了也白看。技術好的人,從來就是動手最多的人。網絡

語言的學習並無太多捷徑,須要多練習。但願讀者在看本教程時,不要僅僅看,還要多動手去練。數據結構

你也許沒有很強的邏輯思惟、你也許沒有足夠的數學知識、也許你寫不出牛逼的算法,其實這都不重要,重要的是學會如何去使用別人已提供的庫中 API(函數或方法)的用途、用法。我以爲語言就像用的各類測試工具同樣,我不用去考慮底層的實現,我只要考慮如何去使用。不要給本身學習增長太多的困難,本身學語言到底要幹啥?作自動化測試仍是寫操做系統?ide

也許有的人會反駁,不瞭解語言的原理、不瞭解數據結構、不瞭解算法、不瞭解...你的學語言就沒有意義。若是真要會這些纔算學會語言,我相信有一大半的開發人員都不合格。函數

有一句話我以爲很對:不求完美,先讓事情開始,而後再完善它。工具

若是一開始追求太過,那麼就應了那段經典的話:從入門到放棄。而我以爲絕大部分人可能還沒摸到門檻就要放棄了。學習

其實我寫這邊教程的目的就是想告訴你們,先學到足夠的知識,而後寫點有意思的小玩意。讓本身的學習可以見到成果,這會極大促進你學習的興趣。測試

學習靠的不是毅力,靠毅力的學習都長久不了,由於這個世界有毅力的人原本就少。學習要靠正向的反饋,這些反饋來源於你學習過程當中體會到的成就感。你寫出一個自動化腳本,看着自動化腳本自動點擊、自動輸入、自動斷言是有成就感的;你寫了一個小爬蟲,去爬了一個網站上你喜歡的圖片,看着你硬盤上一個個圖片的生成,這也是有成就感的。這些成就感能給你不斷的正向反饋,因而你有一直學下去的動力。在教學過程當中,我一直比較推薦去寫寫網絡爬蟲,這比較容易獲得這種正向的反饋,同時網絡爬蟲的技術和自動化測試、接口測試有共通的技術點。網站

而你太過於糾結原理、太過於糾結完美,你會發現你的學習是步履維艱的。

Python學習過程當中,就我我的的經驗來講,最重要的是字符串、列表和字典的各類處理操做和函數方法等。由於之後不少時候都在處理這些內容,好比寫測試腳本過程當中你須要從界面上提取斷言、須要本身參數化定位語句、須要從數據庫中查詢數據、須要批量插入數據等衆多的操做,都是對這三種數據類型的處理。

也許你不必定能記住全部的函數與方法的具體寫法,可是你必定要知道 Python 對某種數據類型提供了哪些函數與方法。這樣當你碼代碼的過程當中須要操做某種數據類型時,纔有處理的思路,不然就傻了。對於記不住的函數或方法,你能夠查閱教程資料,多用天然就記住了。

對於函數和麪向對象之類的,先從概念理解。不要妄想一下就理解什麼時抽象。這須要一個過程,只有當你代碼寫多了,你才知道爲何要寫函數和寫類,由於函數和麪向對象就是爲了減小代碼而生的。可是你寫了那麼點代碼,減了就沒了,還談什麼減小。因此暫時不理解也不要過於焦慮,先記住概念。

學習不少時候,須要一個醍醐灌頂的過程。並非全部的知識點看了、寫了就領會了,每一個人都有思惟的短板,因此對於某些知識點有時候會出現短路的狀況,也就是怎麼想都理解不到,怎麼問也理解不到。那麼對於確實不能理解的內容,先記下來,也許你只是缺乏一個契機。但若是你不去記,想給你灌頂,可是沒東西給你灌啊!

因爲第一次寫教程,有任何意見和建議,請在評論中指出。謝謝!

下一篇 編碼工具

相關文章
相關標籤/搜索