1、本程序的起源
當我決定去中科院實習的時候,我給劉奎恩老師發了封郵件。我對此事是很是看重的,所以常用瀏覽器,打開gmail去查看劉老師有沒有給我回復。由於gmail的新郵件推送的功能僅限於打開瀏覽器,這樣仍是很是麻煩的。所以,我就想編寫一個程序,這個程序的功能是發現gmail郵箱中的新郵件,並推送給我。
這個程序最初的需求仍是很簡單的,只是發現新郵件,而後把有新郵件這個消息推送給我。因爲我想學習python語言,所以考慮用python來開發。因而,我就從零開始了這個程序的開發。php
2、準備工做
因爲此前沒有接觸過Python,所以熟悉python語言是我第一步須要作的。
《A Byte of Python》是我學習Python第一本書。這本書是如它的名字同樣,是本Python入門級教程,這本書面向的對象最低標準是沒有接觸過編程的人(夠低的吧)。書中的內容不是不少,不過語言通俗易懂,仍是很容易的把我領進了Python的大門。這本書涵蓋從安裝Python、操做數和表達式、模塊、數據結構、輸入輸出、異常、標準庫函數、簡單實例等很是基礎的內容。是一本很推薦的入門級教程,不管是誰我想均可以在兩天內完成。經過這本書的學習,我對Python語法,數據結構、函數等有了大體的瞭解。
看完《A Byte of Python》只是一小步,對於完成我最終的目標仍是差很遠,甚至,當時我都不知道從哪開始下手,因此又下載了一本《Learning Python.4th.Edition》,但願可以深刻學習Python。打開這本書以後,我發現內容實在是太多了,一共有1K+頁。我想,就這麼只抓基礎,沒有重點的學習也不是事,不過程序因爲是和郵件相關的,所以,確定是網絡編程,所以,我從網上下載了本《Foundations of Python3 Network Programming. 2nd Edition》,網上有中文譯本,不過是初版。初版仍是和第二版在須要用到的內容上有些不同的,有些初版的內容已經被淘汰了,另外,我但願可以鍛鍊個人英文閱讀能力,基於以上兩點,我在學習的時候是以英文版爲主,當有不理解的地方借鑑初版中文版。這本書仍是很詳細的介紹了Python網絡編程的基礎知識,對本程序的開發幫助很大。html
3、學習、開發
接下來就是工程量最大的學習、開發階段了。學習和開發是相輔相成同時進行的,在學習過程當中,根據學習的內容,也曾改變過程序的設計。
在學習本書時,也不是從頭看到尾,只是看和個人需求有關係的python
這幾章。這幾章的內容與開發email相關程序息息相關。
除此以外,最有用的參考書籍就是官方文檔,這其實比這本書更加有用。之後Python開發中會常常用到。web
4、接下來的故事編程
具體學習博客,請看我下一篇博客:用Python實現gmail郵箱服務,實現兩個郵箱之間的綁定(中)瀏覽器
程序功能及完整代碼,請看:用Python實現gmail郵箱服務,實現兩個郵箱之間的綁定(下)網絡