開始使用 Python 開發 Web 應用

oschina發表於2013-11-25

  Python是一個通用程式語言,並很快成為每個自重程式設計師寶庫中的一個必需品。

  Python中有數不清的Web框架,從基本的微小架構到完整的架構,它們自有各自的優點。那麼你準備使用它來做一些web開發,但在探討細節之前,讓我們從頭開始。

  學習Python的基礎

  截至目前,Python有兩個版本,2.7.5和3.3是目前Python的穩定版本。你選擇哪個學習並不重要,因為區別非常小——尤其對於初學者而言。但你應該知道,雖然Python 2有非常非常多的第三方支援,Python 3是設計語言的開發者關注的重點,很多第三方支援還沒有移植到Python 3。這個選擇需要你做出決定。然而,學習任何新的語言都會是一件令人卻步的任務,找到合適的地方和人並從中學習是成功的一半。這是這篇指南的用處。讓Python簡單、有趣並易於學習是你的藍圖。

對於初學者,Python 2和Python 3最大的不同很可能就是Python 2使用print不需要加括號,而Python 3需要,但就這麼多。

  1. Codecademy python課程

  Codecademy做了一項偉大的工作,將python的課程放在了一起,這對於初學者快速入門Python非常有用。

  2. ScreenCasts

  對於絕對的初學者,有一些非常棒的截圖視訊。

  我學習python時參考的一些截圖視訊是:

  兩個教程非常優秀,你甚至可以在學習完這兩個系列後開始編寫指令碼。非常建議觀看下那些教程,它們是免費的,同時也是你將來參考時的非常好的資源。

  3. Python的官方網站

  當然,沒有比官方python.org的文件更加好的資源了。但並不推薦給初學者,因為涉及的概念更加深入和高階,但它仍然是最好的資源。

  有了這個,你將擁有一些python知識,知道在python中怎麼樣處理東西。

  讀一些書

  有過剩的免費高質量的電子書可供選擇。下面的快捷清單列出了一些最好的書。你可以免費下載它們的電子版,或者如果你想支援作者的話,你也可以選擇購買紙質書籍(或者捐贈),我相信他們將非常感激這種方式

  Think Python: How to Think Like a Computer Scientist

  Think Python涉及理論方面的知識稍微多些。這可能會讓初學者有些沮喪,但這本書在演算法原理和高階概念上的相關知識非常值得一讀。

  Invent With Python

  如果“邊學邊做”是你的方式,那麼構建自己的遊戲將會是一個非常值得的經歷!在這本書中,AI Sweigart假設沒有Python的知識,並全程帶領你構建自己的遊戲。

  熟悉StackOverFlow

  StackOverFlow不僅僅全是“新手”錯誤和問題;有一些非常聰明並樂於助人的人也在使用這個網站——從他們身上學習!

例如,看一下 Python的隱藏特性這個問題。

  你這裡看到的很多提示和技巧可能很多正式的教程不會涉及,但它們對於中高階Python使用者非常有用。

  進入Web開發

  現在你完成了Python忍者訓練,準備深入Ptyhon的Web開發,但現在的問題是有很多的框架,從中選擇最好的框架非常困難,但從初學者的角度出發,Flask基本Web框架將非常適合Web開發入門,因為你僅僅需要知道Python就可以開始,而你已經學了很多知識了。

  在你學習完Flask框架後,你將會知道建立靜態頁面非常簡單,這是下一個問題出來了,使用它建立下一個web2.0的大應用合適麼?答案是Yes,你可以用Flask建立任何你想的應用,但在通過很多步的努力之後,你會發現,你已經成功的重新建造了一個已經有的輪子,但它給予你巨大的靈活性和力量,一開始你可能會感覺勢不可擋,而這也是很多初學者選擇Django,然後在六個月左右換了其他的框架。

  你可以讀一下這個,知道哪些網站是由Flask驅動的

  The largest site built with Flask

  儘管Django和Pyramid也擅長Web開發,但他們是專為高階使用者設計,而不是僅僅學習編寫了幾行python的初學者。但如果你想認真學習Web開發,學習Flask是個很好的入門框架,因為它不抽象任何事物,也沒有任何魔法。

  常用的庫和工具

  PyPy

  如果你要做的工作是計算密集型的,那麼你會發現Python的效能是一個瓶頸,這時候你就需要PyPy。PyPy是Python直譯器的一個替代品,可以有效加快處理速度。

  NumPy + SciPy

  這兩個庫通常是一起使用的(SciPy依賴於NumPy)。如果你需要做一些複雜的數值計算或科學研究工作,那麼這兩個庫將是你的案頭好友。NumPy和SciPy擴充套件了Python的數學函式功能,可以大大提高你的工作效率。

  BeautifulSoup

  正如其名,BeautifulSoup確實是非常優雅的。如果你需要解析一個HTML頁面來獲取一些資訊,你應該知道這是非常煩人的事情。BeautifulSoup的作用就是為你做這些事情,併為你節省時間。強烈推薦使用。

  Python Image Library

  The Python Image Library (PIL)是一個用來處理幾乎所有影像操作的擴充套件庫。如果你需要處理一個影像,PIL可以為你做很多。

  瞭解了這些之後,你可以走上你自己的Python之路。

  一些Web開發庫

  SQLAlchemy

  SQLAlchemy是Python的一個SQL和物件關係對映(ORM)工具集。它功能強大,並且很靈活,使得應用程式開發者可以方便地進行SQL操作。

  Alembic

  Alembic是一個輕量級的資料庫整合工具,主要和SQLAlchemy協同使用。

  結論

  今天就到此為止,歡迎隨時分享你的想法。

  原文地址:http://pypix.com/python/get-started-python-web-development/

相關文章