為什麼看不懂廖雪峰的Python學習教程?
因為你試圖用一勞永逸。
你試圖使用一種教材弄懂所有問題,那是不行的。
雖然我們通常推薦新人學python,我也會推薦廖雪峰的新手引導做得很贊……
但是……
寫代碼不是這樣子的事情……
每個人基礎不一樣,認知不一樣,腦力不一樣,學習習慣不一樣,
你怎麼可能通過一份引導,讓所有人都可以完全從零到一?
那不現實!不管什麼事情,都不現實,不要說寫代碼了。
我舉個例子啊。你學windows的時候,新手教程有教你什麼是滑鼠嗎?
你學滑鼠的時候,有教你什麼是ps/2串口嗎?
你學ps/2串口的時候,有教你驅動怎麼寫嗎?
這樣下去,最後windows使用手冊上是不是要把怎麼生產cpu寫進去?
所有的教程圖書都會替你分割好知識的邊界,但是這個邊界不一定適合你。
遇到你想要的邊界外的知識你要發揮主觀能動性,
遇到你不想要的邊界內的知識你要把書頁翻過去。
你沒有系統性地學習了解一樣東西之前,
你當然會看不懂教程當中的一部分內容。
那麼你怎麼系統性地去了解呢?
我不知道。
這個問題值很多錢。
我只能跟你講,你要一邊寫一邊學一邊google一邊百度。
這很難我是知道的。
但我要反過來問你,
要是寫代碼是你可以用一個人的教材一勞永逸的事情,你覺得還會那麼「高薪」嗎?
當年我照著用戶手冊啃gvbasic的時候,和你不一樣的是,越覺得自己不懂,我越開心。
為什麼吶?因為我越是弄不懂的事情,將來等我弄懂了,我就越可以用它來讓自己牛逼。
當年我還是讀寄宿制的,喬布斯還不知道在哪個犄角旮旯里呆著,上網沒有的,資料要付錢買的,還不是讀者用戶手冊,別人的代碼啃著啃著入了門?不懂?不懂是好事啊,自己多試試,多改改,然後不就能弄懂了嘛。
這個問題應該只能你自己回答吧,我也不知道為什麼你看不懂。
看不懂沒毛病,廖雪峰的教程對零基礎的學習者來說難度跳躍大了點,更適合有一定基礎的同學。
作為小白,我在三月份敲了一遍廖雪峰3.5的教程,看不懂的也敲,其實到正則、裝飾器就不怎麼看得懂了,但一路敲到實戰的地方,算是看完了教程。
五月份再看了本《笨辦法學python》,立馬覺得這本寫得好簡單,隨便翻一翻也就過了。
九月份的時候開始在知乎、GitHub上找簡單的項目做著玩,基本還是混,不怎麼能完全看懂。
到十月份,新看了一本A Byte of Python(看的英文原版3.5的,譯本是2.7),給我的感覺是,寫得通俗易懂,條理清晰,似乎更適合做入門教材,目前還沒有看完。當然,到這裡已經算是有了一定的基礎,所以看起來也蠻順暢的。
再到前幾天看了計算機學院的本科python教材,才發現,原來本科難度的python自己也已經學得差不離了。到這個時候也能自娛自樂偶爾寫一點玩玩了。
所以看不懂沒毛病,關鍵是繼續看下去,看不懂也沒關係;當然,如果有個會python的同學帶你飛,那是最好了。應該是基礎語法和實際操作的跨度超過了新手的接受範圍
你可以先看我的 Crossin的編程教室 - Python零基礎入門
其實我自己學 Python 時也看了不少廖雪峰的教程,內容很到位(我看的第一本是《簡明Python教程》)。
然而不存在一種萬金油教材適合所有的人。所以如廖大自己在這個問題下的回答:這不是教程的問題,是你的問題。我冒昧補充下:你要明白自己所處的位置和教程的定位,選擇合適你的教程才是最好的,並不是跟風地找本很火的就可以了。
入門的Python教程我基本都通讀過至少一遍。幾個評價很高的教程:廖雪峰、簡明Python入門、笨辦法學Python、Head First Python,都不適合零基礎的純小白。但這不影響它們是優秀的Python教程這個事實,只是大家的側重點不一樣。《簡明》簡單扼要,適合其他語言基礎人快速轉Python;《笨辦法》重實操,可作為練手的輔助;《Head First》也是面向有一點編程基礎的人。
零基礎的我都是推薦《與孩子一起學編程》(新版《父與子的編程之旅》),淺顯易懂,唯一不足是版本有點舊,還是Py2的。前兩年這不是問題,現在稍微有點不太好,但其實並不影響學習。
我自己的教程更接近《與孩子》,而且當初是在微信公眾號首發,就是給零基礎做低門檻的入門講解。很多人後台留言說之前看了很多教程看不懂,到我這裡就明白了。當然,我這教程也在一些編程社區被人噴,說是『寫給幼兒園小孩看的』、『這些東西還需要你來講』云云。
所以說,看不懂不是問題,選擇合適的最重要。
同樣是 Python 教程作者,評價別人的作品可能會有些敏感。各位權當參考吧。
關於Python入門你還可以看下 Crossin:你是如何自學 Python 的?
廖雪峰的Python教程已經很友好了,接近於把飯喂到嘴邊了。
這不是廖雪峰教程的問題,而是一個基礎代碼技能和實際應用需求的代碼技能差距太遠導致的。
如果是新手,只學會了廖雪峰Python教程,那約等於什麼都寫不出來。除了課後習題,什麼都寫不出來。
就以知乎上泛濫的Python爬蟲教程來看。
在你掌握了Python基礎語法之後,你還需要:簡單的網路基礎,包括套接字,HTTP是什麼,為什麼有這個東西,怎麼用;一點前端知識的皮毛,知道HTML和CSS,還有JS是幹什麼的,怎麼簡單的提取需要的內容;正則表達式的簡單使用;為了編寫效率高一些的爬蟲,還需要知道常見的IO模型和簡單的並發編程。
這樣你才可以寫出能解決實際問題的爬蟲程序。
但是,上面講的每一個都不難,只要勤於百度,搞懂這些只是時間問題(最多幾周而已)。
為什麼這對於新手來說,還是太難了呢?
新手缺乏經驗,缺乏能動性。因為他們遇到問題是,無法判斷這個問題到底有多麼困難,可能是一個兩分鐘就能解決的小問題,也可能是困擾業界多年的難題。這樣的畏懼心理才是新手最大的敵人。
所以,最重要的問題在於調整心態,勤於應對問題。遇到問題,具體的,有針對性的求助,而不是陷入「我是不是沒天賦?」「我是不是太蠢?連這都解決不了」的自我懷疑怪圈。
比如,「為什麼看不懂廖雪峰python?」就不是一個好問題,你不是在提問,你只是在自我懷疑,這樣一點幫助都沒有。你試試把你教程中看不懂的某一章,某行代碼發上來提問,這才有進步。
廖雪峰教程是新手紅利,也是新手蜜糖,他在教程里解決了新手學Python會遇到的一切問題。然而,對於任何一個在IT行業混的人來說,最難的是學習解決問題的方法這項技能,不是技術本身的難度。
新手另一個最大的敵人就是:
低估長時間學習的成果,又高估短時間學習的成果。
舉例:
時不時的熱血上頭,躊躇滿志,立誓XX天搞定XXX技術。
時不時的自我懷疑「大牛那麼多,比不過,學十年估計也學不出什麼名堂」
沒幾個人是天才,你花一個小時學的內容,不可能頂別人三個小時。反過來,你覺得自己笨,覺得自己學的慢,一個月才入門Python,實際上,對於和你同水平的其他人,也差不多要花這個時間,再少也少不到哪裡去。
立誓XX天搞定XXX技術的人最後基本都沒實現。
細水長流每天都抽時間學習的人最後基本都成了高手。
與其躊躇滿志硬逼自己今天不學十小時不罷休,還不如想想怎麼能堅持在接下來的兩個月里,每天都至少花兩小時來學習。
看不懂沒啥奇怪啊,廖雪峰的教程是比較適合有其他語言基礎的人
很正常,大部分內容還算好,但穿插的一小部分內容其實屬於進階的東西。特別是最後那個實戰項目,竟然要一個初學者實現一個web框架,而且還要用python3.4引入的協程,而且還包含一個簡單的ORM系統。新手表示:神馬是協程?神馬是ORM?
所以該教程有很好的參考價值,但不能弔死在這一棵樹上。好的 Python 入門教程書籍經典的有很多,可以交叉參考。
這個問題好比你看到一個做菜的菜譜,告訴你做一道米飯的3個步驟。
第一步:淘米
第二步:盛水下鍋
第三步:打開時間等煮熟
如果這個程序是中國人,70%以上都應該沒什麼問題;
如果這個程序是西方人,他會有什麼問題?
例如:
為什麼這個東西能吃?
為什麼要淘米?
為什麼要加水?
為什麼這個飯可以吃?
————————
雖然廖哥的教程已經是很基礎了,但是你看到Python還會問:
python是什麼?
這個代碼為什麼這樣寫?
數列的關係是什麼?
那你覺得難還錯嗎?根本沒有錯
但是這是廖老師的問題嗎?根本沒關係
這個作為純小白自學確實有點困難?不過Python新手入門指導 - 知乎專欄 你可以看下這個.
能寫些東西出來幫助讀者,都算是做了有益的事情。
可能某個老大點贊,這個問題神奇的推過來了,因為我也看過廖總的博客,也就談談自己的體會:
廖總的py教程在國內中文版里絕對進前五,優秀的地方太多就不過多強調了,只談談不足的地方。
第一,學習曲線有問題;
當然這不是廖總的問題,而是到了一定地步其它知識儲備需要配套上來,如果儲備不夠就會越來越困難,這個其它答主有提到。
第二,廖總想各個知識點一把抓,這個不現實;
因為絕大部分知識點是在實踐中去學習,就像我們學習漢字,課堂上其實學的字不多的。不能在實際運用中學習,那麼初學者根本就不清楚廖總很多知識點是來幹嘛的,所以會看的特別累。即便廖總費盡心機準備了課後習題,但是基本是沒什麼效果的。
我看過一組scratch的在線教程,全程用植物大戰殭屍來組織學習,效果特別好。
第三,最重要的是,重要入門知識點沒有重點講解,反而是因為對於已入門者來說太容易而忽略了,這樣直接導致初學者蒙圈。
比如在介紹字元串的章節,最最基本的地方,廖總第一次提到了encode()這個「方法」,並且沒有做特別的講解。這樣我可以百分之百確定初學者沒人看得懂什麼叫方法。
類似的知識點還有不少。
但是總的來說,廖總這教程已經非常優秀了,再說也不收你錢,還要怎麼樣? @廖雪峰後邊實戰部分有些代碼講解了,有些沒講但github上有,要注意補全。
廖大的教程對沒啥基礎的人來說後面的部分是難一點
比如寫orm那一塊,剛開始學編程可能連資料庫是啥都不知道,更別提理解orm了
還有線程/進程 的部分,一上來要理解的確是難了點
一開始啥都不會推薦去看 菜鳥教程 (百度搜)
把最基本的語法搞定,再做一些題目就OK了然後回頭再去看廖大的教程,你會發現其實沒有那麼難,然而能發現很多新的東西。
當然,如果你自己不努力,卻強行說看不懂那找個老師手把手教你你也不一定能學的會看不懂正常,因為你要寫,寫著寫著,遇到問題了,再來看教程解決問題的過程,就是你學習的過程。
看了倆天他的教程後寫爬蟲抓小說看...
不奇怪。廖老師的教程難度梯度設置確實有點跳躍,給好多朋友推薦過,0基礎的基本上都會有感覺吃力的時候。0基礎推薦單純就是學個語言的話你看coursera上面一個光頭老師的課:零基礎 Python 入門而且語言是應用學科,還得看你學的目的是做什麼應用。
看不懂的原因是,只看語法沒有用。
如何訓練自己的編程思路 - 通過python學會編程 - 知乎專欄
為啥看不懂,我再來補充回答一下。
1、廖雪峰的Python學習教程寫得確實好,有Python官方教程有得一比。
但這樣的教程,適合有編程經驗的人看。
2、很多小白,面臨的問題是 1 + 1 = 2 的問題都沒有搞清楚,直接讓他學習高度抽象的語法。 所以會有困難。
3、飽漢不知餓漢飢,會編程的不知初學編程的苦。這是很多人不理解其他人看不懂的原因。廖的py教程和git教程在國內我覺得是第一。
看不懂的話,可能沒有這個天賦,吃不了這碗飯。建議換個行業。
如果是0基礎,要先補上一大堆基礎知識。
新手學一門編程語言,不去看經典教材,而去看博客這種二手知識,本身就是一件很逗比的事情。廖的python教程本來質量就一般,你看不懂也很正常,入門去看A Byte of Python英文版,加上前言不過158頁。
推薦閱讀:
※Python中 pickle有什麼意義,pickle了再恢復?
※在Python中如何修改字元串中的某一位字元?
※Python3.5.1中如何將input讀取的字元串改為數字?
※Python 中為何沒有數字到字元串的自動轉換?
※要用python研究股票需要安裝哪些庫?