目標 瞭解Python的歷史 瞭解Python的特征 瞭解Python的應用 掌握Linux下Python開發環境的搭建 理解Windows下Python環境搭建 案例 安裝Python,寫出第一個Python程式 第一節 Python簡史 什麼是Python 一種解釋型的、面向對象的、帶有動態語義 ...
目標
- 瞭解Python的歷史
- 瞭解Python的特征
- 瞭解Python的應用
- 掌握Linux下Python開發環境的搭建
- 理解Windows下Python環境搭建
案例
- 安裝Python,寫出第一個Python程式
第一節 Python簡史
什麼是Python
- 一種解釋型的、面向對象的、帶有動態語義的高級程式設計語言
Python編程
- 是一種使你在編程時能夠保持自己風格的程式設計語言,你不用費什麼勁就可以實現你想要的功能,並且編寫的程式清晰易懂。
Python簡史
- Python的發展,可以分為幾個重要的階段:
- CNRI時期:CNRI是資助Python發展初期的重要單位,Python1.5版之前的成果大部分都在此時期完成。
- BeOpen時期:Guido van Rossum與BeOpen公司合作,此一期間將Python2.0推出,甚至Python1.6也同時問世,但原則上已經分別維護了。
- DC時期:目前Guido已離開BeOpen公司,將開發團隊帶到Digital Creations(DC)公司,該公司以發展Zope系統聞名,因此這項合作也頗受註目。
- Python 3.0
里程碑
- Python獲年度Tiobe編程語言大獎
- Python在2010年獲得了較大的市場份額增長,2010年1月以來Python的市場份額增長了1.81%,是增長速度最快的。
第二節 Python特征
Python編程語言中的定位
- 腳本語言
- 高階動態編程語言
簡單易學
- Python是一種代表簡單主義思想的語言。Python的這種偽代碼本質是它最大的優點之一。它使你能夠專註於解決問題而不是去搞明白語言本身。Python有極其簡單的語法,極易上手。
解釋性&編譯性
- Python語言寫的程式不需要編譯成二進位代碼。可以直接從源代碼運行程式,但是需要解釋器。這點類似於Java,或是Matlab。其實我更今偏重於認為是後者。
- Python中亦有編譯執行的特性。
面向對象
- Python既支持面向過程的編程也支持面向對象的編程。與其他主要的語言如C++和Java相比,Python以一種非常強大又簡單的方式實現面向對象編程。讓我迷惑的是,Python中類的屬性似乎不是那麼重要,至少我現在還不是很明白。
高級語言
- 使用Python語言編寫程式,無需考慮諸如管理記憶體一類的底層。
可擴展性及可嵌入性
- 可以把部分程式用C或C++編寫,然後Python程式中使用它們。與此相反,可以把Python嵌入C/C++程式,提供腳本功能。
免費、開源
- 自由地發佈這個軟體的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用於新的自由軟體中。現階段,我們好像不太在意這一點。
可移植性
- 由於它的開源本質,Python已經被移植在許多平臺上。如果能避免使用依賴於系統的特性,那麼所有Python程式無需修改就可在任何平臺上面運行。包括Linux、Windows、FreeBSD、Macintosh、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Window CE甚至還有PocketPC!
豐富的庫
- 豐富的庫,似乎已成為判斷一門編程語言是否強大的重要標準。Python標準庫確實很龐大。它可以幫助你處理各種工作,包括正則表達式、文檔生成、單元測試、線程、資料庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI、TK和其他與系統有關的操作。只要安裝了Python,所有這些功能都是可用的。這被稱作Python的“功能齊全”理念。除了標準庫以外,還有許多其他高質量的庫(似乎可以稱為第三方),如wxPython、Twisted和Python圖像庫等等。
總結
- 易用與速度的完美結合
- 把精力放在要解決的總理上
- 跨平臺又易擴展
- 自動化的記憶體管理
- 內建許多高階而實用的資料型態
- 輕易結合網路程式模塊
- 萬能鑰匙? No, 膠水語言
第三節 Python的應用
- 實現Web爬蟲和搜索引擎中的很多組件。
Yahoo
- Yahoo使用它(包括其他技術)管理討論組。
NASA
- NASA在它的幾個系統中既用了Python開發,又將其作為腳本語言。
YouTube
- 視頻分享服務大部分是由Python編寫的。
豆瓣在Python和Ruby之間為何選擇前者?
- Ruby名氣很大,但在國內真正用的人不多。
- Python的“可用性”要好的多,Java本來就在傳統的大型應用中占有重要地位。
- 雖然Python沒有Perl的庫強大,但是很多庫還是在大型商業中應用的比較廣泛,比之Ruby還是要穩的多。
- Python的簡潔性。
- 還用,據說Ruby是小日本創造的。
- 其他:都根植於Unix體系,Google使用Python。
第四節 搭建Python環境
Linux環境
- 大多Linux發行版均預設安裝了Pthon環境。如想下載不同的版本,可到www.python.org下載。軟體安裝方法參照Linux軟體安裝。
- 輸入Python可啟動Python交互模式
- 程式編輯推薦使用VIM
Windows環境
- 可下載安裝python的msi所直接安裝
- 自帶python的GUI開發環境
- 開發工具很多