2012年6月20日 星期三

心得:Python 中文入門書


在此分享自學 Python 半年多以來的中文入門書讀書心得


如果你已經有程式基礎且馬上要用 Python 寫些東西:
請不要看這些入門書,直接使用 google 查教學
一兩個晚上大概就可以學完語法、了解 Python 表面上的特性
然後找一個適合你用的 IDE ,直接寫點程式進步最快!


如果你是學生,放暑假時想自學個語言來玩玩
且你比較喜歡閱讀圖文並茂的「講義」
那麼 Head First 系列的 深入淺出 Python 應該很適合你
雖然這一本書我翻過後發現他其實只有「淺出」Python,並不深入
但是這樣活潑直覺的講義書,起碼可以讓你不會容易想睡覺
你若是有認真的去想或寫本書的習題
應該可以很快的上手 Python 這一門語言


如果你想要更深入點了解 Python 這一個語言
那麼老鼠書 Python 學習手冊 會是好一本好書
有關 Python 的語言特性,你所該知道的基本知識,這一本書都有具備
且書中的程式碼例子都專注在解釋語言特性,不會太複雜
我把本書定義成一本「標準教科書」
內容是可理解的,不會太困難的
如果你有三五天的空閒可以看書,這一本書很快就可以看完了


如果你曾經學過 Python 怎麼寫,或看過其他的入門書
那麼 精通 Python 3 程式設計 可以是一本不錯的學習兼工具書
本書要直接閱讀可能要有基本的程式底
書中除了講解 Python 的語言特性以外,更加著重在怎麼用
程式碼範例皆被設計成用來處理特定任務,具有實用性
這樣的缺點是程式碼除了表現語言特性以外還參雜著任務處理的邏輯
使得閱讀者需要想想他在幹什麼
但是好處卻是能讓使用者立即知道該語言特性的實際用處
本書內容較深,三五天內未必看的完



三本書的難度大概是:
深入淺出 Python < Python 學習手冊 < 精通 Python 3 程式設計
可以的話,後兩本書都值得收藏!


#備註 精通 Python 3 程式設計 介紹了許多 Python 3 的新特性
   對於想入門 Python 且沒有任何包袱的人而言
   可以直接考慮 Python 3 了,他的確變得更棒!
   另外本文是以目前找得到的中文書為主進行簡介
   若是也可以考慮原文書的話,fcamel's Blog 有更好的介紹


# 2013.12.17 更新:
今年 PyConTW 的 先修課程 中,邀請的講師良葛格有製作一份 Slide:

並於近期陸續與 CodeData 撰文介紹 Python:前往一看





2012年6月11日 星期一

活動: PyConf 2012

幾個月前看到正在學習的語言要辦 conference
於是二話不說便在早鳥訂票開放日訂票
事實上, 議程 在訂票前並沒有仔細看過
只是覺得身旁有一群會寫 python 的人,心情就很好了!
(事後得知公司決定全額補助諸如此類的進修費用,心情就更好了!)

怕自己學 python (<1year)還太嫩
聽不懂大神們在講什麼
除了收了一本實用導向的 精通Python 3程式設計
趕快看一下 python 3 有什麼東西以外
我稍微追 PycTW2011 的資訊
可惜的是我好像沒有找到錄影的紀錄?
總之,胡亂的看過上面的投影片 ...
(發現 魏老師 的 Python 2 vs 3,  50 行中文手寫辨識 好有趣啊!)



這是我第一次前往中研院參加研討會
雖然位置有點偏遠,進去後還必須走很遠
不過硬體設施真的頗高級
兩天都是在很舒適的狀況下聽演講、等便當跟點心
第一天的議程以科學運算上之應用為大宗
其中 Jimmy Lai 大神是我大學時的同學(他都已經在台上了,我在幹嘛啊)
他的演講沒安排什麼梗,就是很平實而邏輯清楚的介紹自己使用的工具及方法
(做人就是要這樣正直才有辦法連拿兩個大賽的冠軍啊!)
由於講者大都把主力放在 python 在科學上的應用
因此第一天講者的演講 style ,大都給人較重的學術感
老實講,我目前在做 web 開發,所以大多數的演講對我直接的幫助性不大
除了 Gage Tseng 大神的 Even Faster Django 以外 ...
他的標題有梗,演講的內容也有梗,整個演講很值得參考
可一提的是,他們的系統架構與我們頗類似
Django 也的確是我早期開發 web server 時使用的 framework
不過隨著分工成 api server,我就決定使用更 light-weight 的 bottle
(大概是以前寫 C 寫太多,我竟然曾經認真考慮不要用 bottle 直接自幹一個 WSGI app!)
我對 Gage Tseng 大神印象最深刻的是,他介紹自己的公司的時候
提到他們就是要做社交網路,那種氣魄讓我深感認同,真想拍手叫好!
(我們 PIPOSEA 也是想做社交網路(握手))
一整天的節目結束後,本來應該去參加最重要的 BOF
不過由於晚上我另有活動,所以只能含淚提早離去 ... ... Orz


第二天開場就是 Django 的開發者
就是一個大師在向我們娓娓道來 web 歷史的感覺
緊接著的 Rasiel Chang 以及 toki 大神們
Rasiel Chang 的表達非常條理分明,很明顯有所用心準備及練習
toki 則是題材有趣,頗吸引人!
講的都很精彩,Rasiel Chang 的 團隊 也在 appworks #4 內
不過由於我們團隊對外大都是由老闆出席,實在很不好意思去認親
(我果然有社交障礙!)
其後的演講,無論是用 Mac 的 ericsk 大神, 12 道家書的 lwshu 大神
或是讓人驚訝竟然已經用 python 十年的 Cyber link 講者 Honder Tsou 大神
這些大神的演講都使我獲益良多
最後一場 hychen 大神的演講則大概是這兩天最專注於語言特性的一場 talk
也是對我幫助最大的一場演講
在台下聽講時其實一直覺得很有趣
因為 hychen 講的頗快速且一下子就講到重點
這恐怕會使得某些比較不熟 python 語言特性的聽眾完全在狀況外
但對於正好需要 meta class 這樣特性的我而言
只能夠用「聽君一席話,勝讀十年書」來感謝他 Orz
(附上投影片)


整體來講,這兩天的演講學術味較重
但是對於探討 python 這一個語言特性的演講較少
很可能大家都是拿 python 來應用
所以演講的主題就集中在 科學運算、繪圖、web ... 等等地方
(我原本以為每個 talk 都是像 hychen 大神的 meta class 一樣深入!)
小可惜的地方是,有關 python 在 web 上面的應用我聽得還不夠過癮 Orz
總之,感謝主辦單位的辛勞付出及抽獎貪食蛇!
希望 python 這個好玩意,可以更為人所知,為人所用。
(希望某年我能夠熟 python 熟到能上台向大家介紹牠 ... Orz)