如何看待通過《笨辦法學Python》入門編程的行為?

想自學編程於是買了這本書,學到第十五節被一個前輩告知這本書不要閱讀「是害人的」,因為這本書不談原理「毫無基礎概念」,現在很猶豫,應該換書還是繼續學下去


py、js、php這種腳本語言本身就是弱化概念的。

比如c裡面你需要區分賦值和初始化,在python裡面,都是綁定。

在c裡面你需要注意未定義行為,python不用。

在我看來,這本書裡面有:

1. 源於代數的,抽象和組合的思維。

2. 命令式的,分治和遞歸的思維。

3. 面向對象的模塊化思維。

4. 一些應用(遊戲,web)

其續集(more python)還包括:

1. 常見數據結構:鏈表,哈希,樹,以及相關的遍歷,排序。

2. 更複雜的模型,比如fsm,parser。

3. 一些sql的知識。

4. 一些應用,比如cli工具。

國內大部分編程書,照本宣科,恨不得寫成編程語言的文檔。又有什麼用,讀者還是不會用編程語言來表達,思考和解決問題。

擁有一些思想,比起文檔式的教程,高到不知道哪裡去了。


翻過一點,感覺這書太慢太啰嗦。

甲之珍饈,乙之砒霜,自己嘗嘗看。

推薦一本

《Python編程快速上手 讓繁瑣工作自動化》

再一本

《Python Cookbook》


「前輩」跟你說應該怎麼學了沒?


黃哥推薦《python核心編程第2版》

多好的書啊,瑕疵翻譯差點意思,但瑕不掩瑜!

其實差不多的書,只要有一本,結合google+python文檔+思考+思考還解決不了上知乎提問。

都可以學會的,關鍵是要動手+動腦。

如何訓練自己的編程思路 - 通過python學會編程 - 知乎專欄


覺得不談基礎概念,

看完這本書,再看其他講基礎概念的書就是了.


《笨辦法學Python(Learn Python The Hard Way)》一書實在是盛名在外,而且形式上獨具特色,所以經常會被人問起這書好不好。我以前的文章和回答一貫的態度都是,是本好的練習冊,但不是個適合零基礎的教程。參見:給伸手黨的福利:Python 新手入門引導

一是不講理論和解釋原因,直接要你跟著做;二是裡面有些題是基於 Linux 命令行執行的,搞得很多初學者一臉懵逼。如果有人指導著你來學,這本書完全沒問題,自己啃的話很吃力,需要查閱不少外部資料。

但我覺得,這也沒到『是害人的』這種地步吧……通常情況都是學習者自己學著學著發現看不太懂很吃力。如果你自己學著感覺良好,這不是挺好的。相反一本書再好,你看不下去,那也沒意義。而且又不是一輩子學編程只能選一本書,它沒講到的東西你之後再看別的書好了。

另外我通常還會推薦另外兩本書:

《父與子的編程之旅》,又名《與孩子一起學編程》,這是我覺得最適合零基礎學編程,淺顯易懂的一本書,有不少計算機常識的鋪墊。唯一的問題是有點老,基於 Python2。

《簡明Python教程》。這本短小精悍,幾乎沒什麼廢話,適合已有編程基礎的人上手Python,但同樣不太適合零基礎初學。最近剛有人翻譯了最新的中文版:簡明 Python 教程 · GitBook

(最後我又忍不住我這張嘴了:不是針對你這個『前輩』,不了解你們當時的具體語境。但有些人真的就特么嘴欠,看別人做點什麼事,他就要評價一番:你這個這個不對,那個那個不好。自己倒從來不給出一個更好的解決方案。也不知道是怕別人努力了超過自己,還是要顯擺自己的獨到見解。知乎上,這些人就特別喜歡在別人的評論區里逞強。)


我是非專業的,打發無聊時間,正好我這兩天也在翻這本書,坦率說這本書如果你以前從來沒有接觸過編程,還是會有點難的。我認為作者寫這本書的本意是想告訴讀者:別tmd廢話,反覆按照我說的上機操練就行了,不懂就去查不懂就給我敲代碼。我認為作者的思路是對的,自己動手敲代碼是相當有益的。我平時沒事瞎學,我發現語法這東西真沒什麼好講的,就這樣。我相信這也是這本書作者的思路。但是如果你大學有c基礎,還是挺容易入門的。沒必要聽其他人鬼扯,既然選了這本書就看下去,有什麼害人的,好多人還說譚浩強害人呢(雖然我也有點那麼覺得,學完c不知道幹嘛,但是譚的那本書語法也基本上講到了),半途而廢才是最大的錯誤。樓上也有人說了,一中午就看完了,當然對於專業人士可能的確是這樣的,這本書裡面知識量不是特別多,我建議你還是堅持看完。


很好的一本書,對於完全不知道編程概念的人來說,照著做,實踐中學習,很容易理解編程的基本邏輯。反覆實踐和聯繫是基本功,對編程來說是必須的。但是光學這本書是不夠的,數據結構和資料庫等也必須掌握。沒有人能用短時間一本書學會編程,沒有1000小時的實踐練習,紮實的基本功,好的編程邏輯思維,學到的皮毛型編程很難成為傍身之技。

對大學生和畢業後的人員學習應該很好,但是我覺得不是很適合孩子。

如果一個孩子每天有很多學業,時間都是碎片化的,很難打好基礎並有足夠長時間的編程實踐。孩子的興趣轉移起來又很快,這個階段,一定要理解,只有孩子在有限的時間(1小時)內學習的東西能實踐並反饋的,才能持續。

我教孩子學編程的時候,就犯過錯誤,先用《與孩子一起學編程》和《笨辦法學Python》這本書教孩子學python,後來發現沒有應用場景,也比較無趣,很難有興趣。後來從scratch入手就好很多,孩子可以非常快地完成一個跑酷或連連看遊戲,雖然粗糙,但是可以玩玩,不斷優化改進。

由於每個孩子都不同,我建議應該從孩子的個人興趣和知識積累為目標,不一定馬上要學iOS編程,持續積累一段時間後,就能掌握工業級的語言和編程環境。鼓勵孩子去接受更大挑戰,如果孩子有野心,就去學Python、Java、Android、iOS編程等,如果沒有野心,也不要著急,先玩玩積累基礎,保護興趣。

興趣是最好的老師!

從我教孩子的經驗來。我覺得好的入門級少兒編程語言應該滿足以下三點:

1)孩子能輕鬆學會,入門簡單。

2)容易完成作品,錯誤少,成就感強;

3)有能玩得開心的應用場景。

Scratch這個編程語言滿足以上三點要求,很容易學習,而且特別方便地做出很漂亮的動畫和遊戲出來。

我建議15歲之前的小學生、初中生建議選Scratch入門。因為很容易上手,做出作品,有興趣不斷鑽研,有麻省理工學院的Scratch官網(http://scratch.mit.edu)上發布的上千萬作品可以借鑒學習交流。

這樣的話,既解決了應用場景問題,也解決了共同學習問題,跟著社區很多其他孩子一起學。

IF (你有孩子)AND(希望孩子能夠從小有好奇心)AND (有濃厚的學習興趣)AND (自主學習)AND (升學無憂) AND (學習未來世界最有價值的技能-編程):

歡迎參加2月16日晚上舉行的知乎 Live - 激發孩子熱愛奧數和編程的興趣,我將分享一些從遊戲開始的、興趣驅動的奧數或編程教育方法。

或者去看看評價為四星半的知乎live:知乎 Live - 教孩子編程,從玩遊戲到編遊戲


我是看這本書入門的,別的書也看過,但只有這本書是按順序耐心看完的。

我感覺這本書的理念很好,告訴你程序是怎麼回事,如何一步步改進,引導你自己去查資料。反正學編程就是擼代碼,知道一些基礎知識,比如變數,函數,控制語句,就可以開始擼了,用到什麼知識點搞不定了再去查,反覆幾次就記住了。

反倒那些長篇大論講基礎知識的,看的時候昏昏欲睡,看完了一臉懵逼。


作為一個毫無基礎且無親友相伴交流的文科生,

一開始學的時候也是各種顧慮,總想知道什麼教材最好,因為覺得時間很寶貴,一秒都不能浪費。

經常有這樣的感覺,學做網站,學著學著,就不知道在學什麼了???查一個問題,查著查著又跑到另一個問題上了???

歸根揭底,目的沒有明確,學什麼?為什麼要學?學這個我能做到哪些事?需要付出什麼?……

一旦目的明確,想清楚了,就不會因為所謂各種「前輩」的偏見搖擺,浪費更多時間。

下無根基,上無索求,此為浮躁。


入門的書一般我推薦3本,其實笨辦法學python 是其中之一,另外2本書也是很不錯的,一本是"A byte of Python",另外一本是廖雪峰的,其實我有一篇關於:"python如何入門的"博文,你可以關注微信公共號:菜鳥學python,裡面都分析一些學python的心得,喜歡的話可以關注,只是希望能幫助到更多喜愛這門語言的人.


大一暑假被學校兩周速成了C語言,基本上啥也不記得了。後來自己動手做項目的時候就是拿的這本書學的python,嚴格來說不算入門吧。

不過我覺得這本書挺好啊,本來我對它的需求也僅僅是入門一個基礎語法。那些特別基本的東西還是拿本書來看比較快,而且這本書也講得很易懂,嫌他啰嗦的,直接看重點不就好了。練習並沒有跟著一個一個做,私以為沒有必要,就遇到一些有意思的或者有疑問的動手試一下就好。

編程嘛,各個領域用的功能不盡相同,基礎語法入門之後還是自己寫大程序(其實也就幾百行)上手快,遇到問題現查文檔啊,多寫寫就好了嘛。可能我用的不涉及太多複雜的問題,不過用python這兩年自己的知識和編程習慣都在一點點改進。

最後,

Life is short. Use python.


對於零基礎來說已經算不錯了,我當時也是靠它入門的。

主要的是去學,再好的書也要翻爛才能真正掌握!


啥前輩啊,會一點東西就開始鄙視初學者了,對於初學者來說,學習本來就要有重點。

這本書挺好的,這種形式的書還有cookbook系列。

前輩肯定認為pythpn文檔最好,講得又正確,又全面。


對於沒有基礎的人,我覺得這本書挺好的。我屬於完全沒有基礎的人,專業和工科理科不沾邊,就是靠這本書學會的基本語法。這本書逼著我敲了很多代碼,雖然簡單,但平時最基礎最常用的就是這些東西。課後練習裡面的問題對初學者來說也有一定難度,自己多查多思考會有很多收穫。

至於基礎概念等等的,等真正想做點東西出來的時候,自然會被逼去學習了解。

單就這本書而言,用來練習基本語法是極好的。其他的就交給更專業的書就好。


我當初看這個書的時候,也覺得有點問題,作者在一些概念上並沒有很詳盡易理解的解釋,這本書是讓你在自己不斷練習中理解。

結論: 書不用換,繼續看,配合網上的一些教程你會覺得容易理解的多(個人推薦「廖雪峰的python2.7」,百度就能找到)

希望對你能有幫助,


一本一個中午就能看完的書就不要糾結了,就算浪費了,也就一個中午而已。。。Just do it!


這書不是給Python初學者看的,

是給編程初學者學Python看的,

就是沒任何編程基礎和概念的,

所以,看起來很弱智,跟哄小孩玩一樣


推薦閱讀:

有關python3的multiprocessing.Pool.map問題,發生錯誤??
動態類型的語言的優缺點有哪些?
python shell代碼無法保存為何?
python 中 os._exit(), sys.exit(), exit() 的區別是什麼?
Python3.3和Python3.2的區別在哪裡?

TAG:程序員 | Python | 編程 | 編程入門 | Python入門 |