在現今 Google 的大多數服務都是利用 Python 程式撰寫,例如:Google App Engine,之前買下的 Youtube 影音網站,就是因為 Youtube 是用 Python 的程式撰寫起來的一個 Web 2.0 網站,在上禮拜去參加了 工作坊 所開的一門入門的課程 Python 入門 - Python tutorial - 第一梯 (講者:黃宇新),這課程是給要學習 Python 的基本入門,講師 黃宇新 教的真的很棒,把 Python 的精神都講的非常好,自己感覺跟 Perl 的功能差沒多少,可是兩種語言在比較方面各有優缺點,聽完最大的感想歸納為兩點,那就是 Python 產生線上文件相當方便,還有非常的快速模組化,每個 Python 程式都是一個獨立模組,在其他 Python 程式裡面都以利用 import 方式來交互使用,個人認為在 系統管理、網路管理、網路傳輸程式、網頁程式開發 上面會有相當大的幫助。 Python 還有一個優點就是程式可閱讀性,在每個程式都必須有良好的撰寫習慣,那就是要善用 tab 鍵來排版,不然程式就是會錯誤,底下一個 Python 的例子,九九乘法表:
#!/usr/local/bin/python for i in range(1,10): for j in range(1,10): print "%d*%d=%s" % (i,j,i*j), print ""
程式的可閱讀性,可以讓程式設計師依照這個規範來撰寫程式,將來程式控管,或者是交接給其他人,那一定相當方便,至少不會在找 if for 這些迴圈的括號,產生困擾。 程式說明撰寫:這部份我覺得 Python 做的非常好,比如說一個 Python 定義了幾個 function,那只要在程式的特定地方寫上註解,就可以利用 help 下去查了喔,請看底下例子: #!/usr/local/bin/python def fib(n): “Print a Fibonacci series up to n” a, b = 0, 1 while b < n: print b, a, b = b, a+b def test(n): “for range print” for i in range(1,n): print i def module_99(n): “9*9” for i in range(1,10): for j in range(1,n): print “%d*%d=%s” % (i,j,i*j), print "" def fib2(n): # return Fibonacci series up to n “Return a list containing the Fibonacci series up to n” result = [] a, b = 0, 1 while b < n: result.append(b) # see below a, b = b, a+b return result[/code] 上面看到 “註解” 這部份,就是可以利用 Python 的 command line help 指令可以查詢說明,撰寫說明很快,很方便,寫出來跟 man 差不多
PS: 如果要有中文註解請參考這篇:http://www.python.org/dev/peps/pep-0263/