**Python這樣來的**
Python 的創始人為吉多·范羅蘇姆(Guido van Rossum)。1989 年的圣誕節期間,吉多·范羅蘇姆為了在阿姆斯特丹打發時間,決心開發一個新的腳本解釋程序,作為ABC語言的一種繼承。之所以選中Python作為程序的名字,是因為他是 BBC 電視劇——蒙提·派森的飛行馬戲團(Monty Python's Flying Circus)的愛好者。ABC 是由吉多參加設計的一種教學語言。就吉多本人看來,ABC 這種語言非常優美和強大,是專門為非專業程序員設計的。但是 ABC 語言并沒有成功,究其原因,吉多認為是非開放造成的。吉多決心在Python中避免這一錯誤,并獲取了非常好的效果,完美結合了C和其他一些語言。
就這樣,Python 在吉多手中誕生了。實際上,第一個實現是在Mac機上。可以說,Python 是從 ABC 發展起來,主要受到了Modula-3(另一種相當優美且強大的語言,為小型團體所設計的)的影響。并且結合了 Unix shell 和 C 的習慣。
目前吉多仍然是 Python 的主要開發者,決定整個Python語言的發展方向。Python 社區經常稱呼他是仁慈的獨裁者。
Python 2.0 于 2000 年 10 月 16 日發布,增加了實現完整的垃圾回收,并且支持 Unicode。同時,整個開發過程更加透明,社區對開發進度的影響逐漸擴大。Python 3.0 于2008年12月3日發布,此版不完全兼容之前的 Python 源代碼。不過,很多新特性后來也被移植到舊的 Python 2.6/2.7 版本。
Python是完全面向對象的語言。函數、模塊、數字、字符串都是對象。并且完全支持繼承、重載、派生、多重繼承,有益于增強源代碼的復用性。Python 支持重載運算符,因此 Python 也支持泛型設計。相對于 Lisp 這種傳統的函數式編程語言,Python 對函數式設計只提供了有限的支持。有兩個標準庫(functools, itertools)提供了與 Haskell 和 Standard ML 中類似的函數式程序設計工具。
雖然Python可能被粗略地分類為“腳本語言”(script language),但實際上一些大規模軟件開發項目例如 Zope、Mnet 及BitTorrent,Google 也廣泛地使用它。Python 的支持者較喜歡稱它為一種高級動態編程語言,原因是“腳本語言”泛指僅作簡單程序設計任務的語言,如 shell script、VBScript 等只能處理簡單任務的編程語言,并不能與Python相提并論。
Python 本身被設計為可擴充的。并非所有的特性和功能都集成到語言核心。Python提供了豐富的API和工具,以便程序員能夠輕松地使用 C、C++、Cython 來編寫擴充模塊。Python編譯器本身也可以被集成到其它需要腳本語言的程序內。因此,有很多人把Python 作為一種“膠水語言”(glue language)使用。使用 Python 將其他語言編寫的程序進行集成和封裝。在 Google 內部的很多項目,例如 Google App Engine 使用C++編寫性能要求極高的部分,然后用 Python 或 Java/Go 調用相應的模塊。《Python技術手冊》的作者馬特利(Alex Martelli)說:“這很難講,不過,2004年,Python 已在 Google 內部使用,Google 召募許多 Python 高手,但在這之前就已決定使用 Python。他們的目的是盡量使用 Python,在不得已時改用 C++;在操控硬件的場合使用 C++,在快速開發時候使用 Python。
--摘自維基百科
- 跟老司機學Python
- 了解Python
- 1、python簡介
- 2、Python發展史
- 3、Python特點
- 4、Python解釋器
- 入坑Python
- 1、Python環境搭建
- 2、設置環境變量
- 3、開始使用Python
- 4、運行Python程序
- 掌握Python基礎
- Python基礎知識
- Python運算符
- 算術運算符
- 比較運算符
- 賦值運算符
- 邏輯運算符
- 位運算符
- 成員運算符
- 身份運算符
- 運算符優先級
- Python的變量與常量
- Python數據類型
- Number數值
- String字符串
- List列表
- Tuple元組
- Dictionary字典
- Set集合
- Python流程控制語句
- 條件判斷
- 循環控制
- Python函數
- 1、函數是什么
- 2、函數的定義
- 3、函數的參數
- 4、函數的調用
- 5、嵌套函數
- 6、遞歸函數
- 7、匿名函數
- 8、函數式編程
- 9、高階函數
- 1、map
- 2、reduce
- 3、filter
- 4、sorted
- 10、返回函數
- 11、偏函數
- Python文件IO操作
- 標準輸入輸出
- 讀寫文件
- with讀寫文件
- Python高級特性
- 1、列表生成式
- 2、迭代器
- 3、生成器
- 4、裝飾器
- Python模塊初探
- 1、模塊與包
- 2、創建模塊
- 3、模塊中的作用域
- 4、模塊的導入
- Python面向對象編程
- 類與對象
- 類的定義及使用
- 面向對象特性
- 類中的訪問域
- 查看對象詳情
- Python面向對象進階
- 類中的方法
- 類中的特殊成員
- 限制對象的屬性
- 再聊多繼承
- 裝x式創建類
- 創建元類
- Python內置模塊
- os模塊
- sys模塊
- random模塊
- time模塊
- datetime模塊
- shutil模塊
- collections模塊
- base64模塊
- json模塊
- hashlib模塊
- xml模塊
- 1. SAX解析XML
- 2. DOM解析XML
- 3. ElementTree解析XML
- urllib模塊
- logging模塊
- re模塊
- Python第三方模塊
- Pillow與PIL
- Requests
- Tablib
- Xpinyin
- Chardet
- Pycurl
- Virtualenv
- Python操作數據庫
- Mysql操作
- Sqllite操作
- Mongodb操作
- Redis操作
- Python的GUI編程
- Python中GUI的選擇
- Tkinter
- wxPython
- Socket網絡編程
- Socket網絡編程簡聊
- Socket內建方法
- TCP協議編程
- UDP協議編程
- TCP與UDP
- Python電子郵件
- SMTP發郵件
- POP3收郵件
- IMAP收郵件
- 進程線程
- 進程與線程
- 進程編程
- 使用進程池
- 進程間的通信
- 線程編程
- 使用線程鎖
- Python的GIL
- Web編程
- WSGI介紹
- Web框架
- Flask使用
- 模板jinjia2使用
- 項目結構規劃
- 異步與協程
- 概念掃盲
- 異步IO進化之路
- 協程是什么
- yield協程編程
- yield from
- asyncio
- async與await
- aiohttp之client
- aiphttp之server
- 網絡爬蟲
- 網絡爬蟲簡聊
- Beautiful Soup模塊的使用
- pyquery 模塊的使用
- selenium模塊的使用
- 爬取段子實例
- 錯誤與調試
- 錯誤
- 錯誤處理
- 拋出錯誤
- 高效的調試
- Python重要語句
- pass語句
- return語句
- Python開發必知
- pip使用詳解
- 如何對列表進行迭代
- 如何對字典進行迭代
- 字符串格式化
- 知識擴展
- 網絡模型
- GUI是什么