讀書心得 - 深入淺出Python
書名:深入淺出 Python
原文書名:Head First Python
作者:Paul Barry
譯者:蔣大偉
ISBN:978-986-276-348-3
發行所:碁峰資訊股份有限公司
出版社:歐萊禮
出版日期:2011/11
雜談:
在工作上我的主力語言是PHP跟JS,不過一些系統操作或爬蟲方面我都習慣使用Python,畢竟PHP本身就是為了web而生的語言,在其他非後端的領域能做到的相當有限,也很難找到社群在研究其他領域上的PHP。
但是最近因為工作上的需求,我使用Python的時間越來越多,以前我都是一邊查網路資料一邊寫,沒有很詳細的去了解語言特性,結果大概就是寫個小工具還行,面對比較有規模的系統時就會出現不只效能差同時視覺上也雜亂的糟糕代碼,所以我便決定開始重新學習Python,而這本書就是我Python重新開始的第一步。
心得:
讀完後我認為本書缺點是實戰性不高,像裝飾器、疊代器等較艱澀的語法跟許多常用的library都不會在本書中出現,除非你的問題很小或是你只有學過Python,不然沒有辦法讓你讀完之後在工作上決定馬上使用Python解決你的問題或是設計出一套完整系統。
優點則是基礎帶得穩、想法帶領的很好,藉由一連串的故事情節,由一個真實開發者的角度去看待程式設計,因為使用者的需求變化導致我們開始斟酌要在現有架構中升級又或是狠下心重新架構整個系統,直接升級會出現哪些狀況?重新架構時又有哪些部份是我們可以從舊系統中繼承避免重複發明輪子?這種抉擇對於程式設計師來說是家常便飯,而書中把這個心中的拉扯詮釋得很好。
再來講講我認為實戰性過低的主要原因,首先本書可以從第七章為界拆為前後部分,前部分主要講解Python的一些基礎,像是清單、集合、字典這些時常被用到的內建結構,還有幾乎每個語言都有的邏輯判斷、迴圈、try catch等,最後加上簡易的物件導向觀念,我認為他捨棄複雜語法跟絕大部分的物件導向是很好的,畢竟對於初學者來說不需要知道這兩者也可以開始設計,同時也可以專注在打穩基礎上。
但是後半部就不太一樣了,後半部在講Python語言在Web、APP上的應用,聽起來很實用,但是我認為從初學者的角度看來在短短一章節瞬間塞入HTTP協定、HTML表單、伺服器等大量概念,也許照著書中做的出來範例,但恐怕不太知道自己在幹痲。而從有經驗的開發者看來,Web開發我們也一定會先考慮當紅framework,不只社群穩定同時在後續要維護、交接系統時也有一套完整的官方規範可以參考。至於APP開發上不要說Python了,連最近常被推舉的HYBRID APP都還不太成熟的情況下我個人還是屬於保守的原生語言派。不過後半段的SQLite滿精彩的,從原本存取在文字檔案上到最後因為資料開始複雜、有搜尋需求等轉而採用SQLite就像先前提過的一樣,從真實使用者的需求去更改自身架構的故事相當深得我心。
總結:
整體上看來我認為本書可圈可點,但是在態度上我是十分喜愛的。如果你是一個不急著現在就要上戰場的初心者又或是希望從最基礎開始打穩的開發者,我都會推薦這本書。不過要是你有時間上的壓力必須馬上上手Python並用在校學專題、工作專案上,那我就會覺得這本書對你的幫助不會太大,因為讀完它之後勢必要再讀幾本較深入的書籍才可以在正式場合上設計。
雜談中有提到一些工作上的關係我開始使用Python,同時並行的其實還有Android,這兩個領域的書應該會是我最近主要研讀的對象,Python方面後續我應該會接著讀一樣是歐萊禮精通Python還有清華大學出版社的Python科學計算,到時再一樣發讀書心得與大家分享,本次的讀書心得就到此為止,謝謝正在觀看的你。