from passion 
import profession 
and ... How Python Helps You ? 
胡崇偉 
marr.tw@gmail.com
Python Fan + Plone Integrator
import confession 
程式猿!= 程式員 
import happiness? 
import nirvana?
import confession 
程式猿can be happy
1987
Favorite Games
1988
1994
1991
A Dream Far Far Away
Choices Available 藝文法商 
理工醫農
Internet
you have to 
trust that the 
dots will 
somehow 
connect in 
your future. 
– Steve Jobs
一定要有夢想 
夢想,不分大小 
實踐,贏得掌聲 
天賦,有所不同 
機會,應該相同
真正的窮 
不是沒有錢, 
而是沒有能力去付出
是滿腔袂爽的自主貢獻者不是佛心志工
人生苦短 
除了夢想 
還有什麼 
值得你去 
追尋?
Why I Love Python 
Make You Focus On The Real Problem
1997 
use CGI; 
my $q = CGI->new(); 
say $q->header(), $q->start_html();
多數的 
學習與進步 
依賴 
既有經驗 
做為基礎 
以數學, 語言為例
Fibonacci Numbers 
def F(n): 
if n <= 2: 
return 1 
else: 
return F(n-1) + F(n-2)
縮排Indentation 
視覺式辨識程式區塊Block 
def F(n): 
if n <= 2: 
return 1 
else: 
return F(n-1) + F(n-2)
Code is Read 
more than 
it is Written 
Readability counts.
Code is Copied 
and Pasted 
more than 
it is Written 
Repository counts.
Community 
不斷演進的動力 
來自 
社群參與 
形成 
最佳典範或慣例
Culture 
實用主義+ 理想主義 
友善開放x 重可讀性 
語言學習= 人生鍛練
通用語言Lingua Franca 
A language that is 
adopted as a common 
language between 
speakers whose native 
languages are different.
語言 
有什麼 
用途?
數位世界的語言需求
Graphical Programming 
Blocky
Programming Riddles 
The Python Challenge Project Euler
Community Projects 
Kivy, Pandas, iPython Notebook, 
Pygame, OpenStack
IPython Notebook 
Code Demo 
Presentation Mode 
LaTeX, Plot
Integration 
ArcGIS, GAE, Blender, Bonhamizer
線上課程 
1. Codecademy 
2. Treehouse 
3. Udemy 
4. Coursera 
5. Udacity
社群聚會/付費課程 
1. Taipei.py, PyHUG, Hualien.py, 
Tainan.py, Kaohsiung.py, Taichung.py, 
Taoyuan.py 
2. PyLadies, Django Girls 
3. KidsCoding, CodeKoala 
4. RaspberryPi, BananaPi 
5. HackerSpace, MakerBar, Maker Faire
找到自己的熱情 
為自己的決定負責 
相信自己走出舒適圈 
Life is an Enrollment Game
你的人生 
就像一場 
線上遊戲 
只是 
無法存檔重練
from passion import self 
Find Your Dream 
marr.tw@gmail.com

from passion import profession

Editor's Notes

  • #3 Plone 是一個 Python 寫成的內容管理系統 CMS (like wordpress)
  • #4 告解
  • #5 只要用對方法,程式猿也能擁有春天。 分享幾個故事,希望對年輕朋友有所幫助。
  • #6 你猜,在1987年,對國中生而言,他會拿電腦來做什麼?
  • #7 二三十年後,我發現自己的生活,就像是大型的電腦遊戲,至少,很多時候這樣想,會讓自己的生活有趣點。
  • #8 高中的時候,有人問我以後想做什麼工作,我說想開一家唱片行。
  • #9 1994年,學 HTML 寫了自己的搖滾樂網頁。
  • #10 人生是一場馬拉松,不會因為開場的100公尺誰贏了,就代表整個比賽有了結果。沒有熱情的人,通常跑不到終點,或是半途就迷失方向。另一個重點是,你不喜歡什麼並不重要,你喜歡什麼才重要,為了你喜歡的事物,你連不喜歡的事物都能接納,這就是熱情。
  • #11 人生是有選擇的,面對選擇,我們常遇到兩類難題:一種叫做「選擇太少」,一種叫做「選擇太多」。不管是哪一種情況,想清楚後,就可以趕快做決定,不要拖到要「被迫選擇」。害怕做錯選擇,是一種迷思,真正的原因通常是要逃避責任,順著熱情去選擇的人,通常不會後悔,而且早點犯錯是人生最大的幸運。 http://cn.dreamstime.com/%E5%9B%BE%E5%BA%93%E6%91%84%E5%BD%B1-%E6%B7%B7%E6%B7%86%E7%94%B1%E8%AE%B8%E5%A4%9A%E9%80%89%E6%8B%A9%E7%AE%AD-%E8%B7%AF%E7%89%8C-image31864922
  • #12 高三的那年夏天,我哭著跟爸媽說,不知道考試有什麼用。因為那時候沒有我想唸的科系。
  • #13 就算我讀台灣的藝術學院,還是沒有搖滾樂系啊。
  • #14 既然沒有想唸的科系,那麼去唸不討厭的科系吧。
  • #16 你的人生旅程,會留下許多足跡,就像一堆雜亂的點,你不可能事先知道,這些點連起來會長成怎樣,你必須繼續塗滿更多的點,繞更遠的路,直到有一天你回頭看,才會知道老天爺要告訴你什麼。在答案浮現之前,你只能相信這一切都會有它的安排。 即使你覺得走了老半天,以為回到原來的位置,但是,你的高度已經不同了。
  • #17 不管是大是小,每個人都該有夢想,不是聰明人才能有夢想。 夢想會長大,夢想越大,挑戰和困難就越大,這很公平。
  • #18 沈芯菱:十幾歲開始自學架站協助,也因為這些早期的學習經驗,讓她更有能力實現自己的夢想。
  • #19 瞿筱葳:早期是一位影像工作者,她現在是零時政府的成員,也和眾多自主貢獻者共同推動寫程式改造社會的工作。實踐夢想是那麼地不容易,如果我們多得到一些幫忙,讓心裡的小火苗能燒得更久,這世界就越有機會變得更好。 http://studyhost.blogspot.tw/2013/08/code.html
  • #20 夢想需要實踐,需要時間去嘗試,去犯錯,去調整,真正偉大的夢想,要能夠感染別人,讓世界變得更好。 人生苦短,如果我們意識到自己的時間有限,生命中最重要的事,就會浮現出來。
  • #21 如果寫程式跟你的夢想有關,那麼「學習 Python」肯定對你的成長有所幫助。 我認識許多寫程式像喝水的天才,但我不是那種人,我常常要花很多時間,有時要加上運氣,才能寫出想要的程式。 想靠寫程式賺大錢,可能要有天份,如果你對寫程式有興趣,想靠寫程式快樂地生活,我相信很多人都做得到,這是我推廣程式學習的原因。
  • #22 選對工具,降低初學的門檻,以免連試都沒試,就把學習機會抹殺了。
  • #23 Python 在設計上,盡量以數學、自然語言為基礎,讓人盡量透過直覺來使用它的語法。所謂直覺,就是過往經驗的反射反應,目的之一,就是讓我們的大腦專注在「真正的問題」上。程式語言是協助我們解決問題的工具,它本身不該成為我們的問題。
  • #24 這是數學和 Python 函式的範例,它們長得很像,至少思緒邏輯上很像,這是一種「一致性」,讓你很自然地從數學世界進入程式世界。Python 程式碼本身跟虛擬碼很像,當你用類似英文的自然語言把解題步驟寫出來後,幾乎就等於是 Python 程式碼了。
  • #25 進一步來看,Python 使用縮排來建立程式區塊。 這種方式,對於習慣用括號建立區塊的程式人員,腦筋可能容易打結。 事實上,使用括號建立區塊的語言,也會建議利用縮排來提昇程式碼的可讀性,Python 則在設計上就把這項風格變成要求。甚至你硬要用括號或 endif 之類的符號來建立區塊,也沒問題,找得到 preprocessor 來完成。 http://www.secnetix.de/olli/Python/block_indentation.hawk
  • #26 Python 社群非常重視程式碼的可讀性,無論在邏輯上、語意上、視覺上。資深的工程師,通常都會同意,他們需要花更多時間在讀程式碼,而不是寫程式碼。難讀的程式碼,通常被稱為醜的程式碼,是一種智力虐待。
  • #27 學習語言的過程,模仿很重要,幸好搜尋引擎通常能提供不錯的範例或說明。
  • #28 所謂的表面上簡單,是指「你很容易就在兩星期內學完 Python 的關鍵字、資料型態、基本語法,確實也可以完成八成的日常問題」,但如果你想更有效地應用 Python,還要是繼續學習典範和慣例。
  • #29 Python 同好共享一個社群文化,它讓同好們能有一見如故的特殊情感。
  • #30 就像在國際會議場合上,如果只允許大家用一種語言相互溝通,我們會發現英文常是重要的選項。 在數位世界裡,Python 成為共通語言的重要性,也會日益增加。
  • #31 不過,對於資訊專業人員而言,不可能只學一種語言。 依照需求的提昇,我們需要讓語言能力跟著提昇。
  • #33 http://digitaltechblog.weebly.com/5/post/2013/05/scratch-alternatives.html
  • #34 http://pythonchallenge.com/ http://projecteuler.net/
  • #35 http://www.youtube.com/watch?v=DUCQ_HZamhs iPython Notebook Basics http://www.youtube.com/watch?v=HBbzYKMfx5Y Super Mario Bros with PyGame http://www.youtube.com/watch?v=MkZXaDQfTSo RPG Game: The Stolen Crown
  • #36 即時的程式碼示範,顯示執行結果的圖形,嵌入網頁註釋,顯示數學方程式,和其他同好交流範本檔。 擔心安裝不成功的朋友,試 http://www.pythonanywhere.com/try-ipython/
  • #37 http://echonest.github.io/remix/examples.html http://static.echonest.com/bonhamizer/ http://static.echonest.com/labs/ Bonhamizer http://static.echonest.com/BohemianRhapsichord/index.html http://www.youtube.com/watch?v=aV8i3mWp3hs BohemianRhapsichord http://infinitejuke.com/
  • #38 http://www.academia.edu/5720765/Coding_the_Python_Way http://techorange.com/2014/09/15/heres-everything-non-techs-need-to-learn-coding-and-its-fun/ https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#python
  • #39 在學習路上找到同好,是很重要的事。
  • #40 順從你的熱情,但要排戰你的舒適圈。
  • #42 若要如何,全憑自己。 http://www.slideshare.net/autang/open-source-enlightenment 台灣人才培育四大困境: 孩子太晚探索性向 父母主導學習方向 學校太重視升學率 社會職場偏重學歷 – 遠見2014.7