- 從零開始學Python
- 高博等
- 1296字
- 2020-05-22 18:09:03
1.1 什么是Python
Python已經具有近二十年的發展歷史,成熟且穩定。它包含了一組完善而且容易理解的標準庫,能夠輕松完成很多常見的任務。Python的語法非常簡潔和清晰,與其他計算機程序設計語言最大的不同在于,它采用縮進來定義語句塊。Python簡潔的語法和對動態輸入的支持,再加上它解釋性語言的本質,使得它在大多數平臺上的很多領域中都是一個理想的腳本語言,特別適合快速應用程序的開發。
Python支持命令式編程、函數式編程、面向切面編程、泛型編程等多種編程范式。與Scheme、Ruby、Perl、Tcl等動態語言一樣,Python具備垃圾自動回收功能,能夠自動管理內存。Python經常被當作腳本語言用于處理系統管理任務和Web編程,當然它也非常適合完成各種高級任務。Python虛擬機幾乎可以在所有的操作系統中運行,使用一些諸如py2exe、PyPy、PyInstaller之類的工具可以將Python源代碼轉換成可以脫離Python解釋器執行的可運行程序。Python的主要發行版本是CPython,它是一個由社區驅動的自由軟件,目前由Python軟件基金會管理。基于Python語言的相關技術正在飛速發展,用戶數量增長迅速。
Python語言起源于1989年,當時CWI(阿姆斯特丹國家數學和計算機科學研究所)的研究員Guido van Rossum需要一種高級腳本編程語言,他從高級數學語言ABC(ALL BASIC CODE)中汲取了大量語法,并從系統編程語言Modula-3中借鑒了錯誤處理機制。他把這種新的語言命名為Python,他希望這個新的叫作Python的語言能符合他的理想:創造一種介于C和shell之間,功能全面,易學易用,可拓展的語言。
1991年,第一個Python編譯器誕生。它是用C語言實現的,并能夠調用C語言的庫文件。從一出生,Python已經具有了類、函數、異常處理、包含表和詞典在內的核心數據類型,以及以模塊為基礎的拓展系統。
1994年1月,Python 1.0正式發布。2000年10月16日,Python 2.0發布,實現了完整的垃圾回收功能,并且支持Unicode。與此同時,Python的整個開發過程更加透明,社區對開發進度的影響逐漸擴大,生態圈開始慢慢形成。Python 2.0最大的變化可能不是代碼,而是開發方式。2004年11月30日,Python 2.4發布,它是Python 2.X的經典實用版本。2005年,Python中流行的開發框架Django發布。
2008年10月,Python 2.6發布,它增加了許多兼容Python 3的語法,和隨后發布的Python 2.7成為Python 2.X的過渡版本。
2008年12月3日,Python 3.0發布,此版本不完全兼容之前的Python代碼,不過很多新特性后來也被移植到舊的Python 2.6/2.7版本中,因為目前還有公司在項目和運維中使用Python 2.X版本的代碼。
2010年7月,Python 2.7發布。同年,Python中流行的Flask框架發布,一經發布,它便以簡單、自定義的特性迅速躥紅。現在已與Django并駕齊驅成為Python語言中最受歡迎的兩大Web框架。
2019年1月,Python 3.7.2發布,這是截至本書寫作時3.X分支的最新版本。
溫馨提示:Python版本號規則
Python的版本號分為三段,形如A.B.C。其中A表示大版本號,一般當整體重寫,或出現不向后兼容的改變時,增加A;B表示功能更新,出現新功能時增加B;C表示小的改動(如修復了某個Bug),只要有修改就增加C。
Python從一開始就特別在意可拓展性。Python可以在多個層次上拓展。在高層,你可以直接引入.py文件;在底層,你可以引用C語言的庫。Python程序員可以快速地使用Python寫.py文件作為拓展模塊,但當性能是重要因素時,Python程序員可以深入底層寫C程序,編譯為.so文件并引入到Python中使用。Python就好像是使用鋼結構建房一樣,先規定好大的框架,而程序員可以在此框架下相當自由地進行拓展或更改。
- Mastering Ext JS(Second Edition)
- Java多線程編程實戰指南:設計模式篇(第2版)
- DBA攻堅指南:左手Oracle,右手MySQL
- Python快樂編程:人工智能深度學習基礎
- Mastering AWS Lambda
- 深入淺出Java虛擬機:JVM原理與實戰
- 體驗設計原理:行為、情感和細節
- BeagleBone Media Center
- Drupal 8 Configuration Management
- C#程序設計
- The HTML and CSS Workshop
- Spring Boot企業級項目開發實戰
- Visual FoxPro程序設計
- Learning Python Data Visualization
- ASP.NET Web API Security Essentials