Kivy官方文檔手冊(學(xué)習(xí)指南) 2.2.0 中文pdf完整版5.3MB / 04-21
MicroPython從0到1 v1.0 基于K210平臺 中文pdf高清版10.9MB / 04-15
流暢的Python(第2版) 學(xué)習(xí)筆記 完整版72.6MB / 02-27
Python3爬蟲實戰(zhàn)JS加解密逆向教程 中文完整版162KB / 12-17
Python基礎(chǔ)教程crossin全60課 完整中文版PDF2.64MB / 12-03
Python網(wǎng)絡(luò)爬蟲技術(shù)課件 + 代碼 中文pdf完整版45.4MB / 12-03
Python網(wǎng)絡(luò)爬蟲實戰(zhàn)案例 中文版PDF172KB / 11-07
廖雪峰Python3零起點教程+Python經(jīng)典手冊合集 中文pdf完整版14.1MB / 11-05
廖雪峰 Python3 教程1-3及新版全套 中文PDF完整版10.2MB / 10-28
Python3零基礎(chǔ)入門教程 中文pdf完整版2.0MB / 10-24
詳情介紹
歡迎進入Python 編程世界!Python 是一種強大的常規(guī)用途程序語言,尤其適合開發(fā)基于Internet 和Web 的、數(shù)據(jù)庫密集型的、多層的客戶機/服務(wù)器系統(tǒng)。本書講解了大量先進的計算技術(shù),它是我們的第二本有關(guān)開放源碼程序語言的參考書。①在我們編寫本書時,Python 2.2 剛剛發(fā)布。為此,我們進行了艱苦的工作,以便將Python 2.2 的功能合并到本書中。附錄B 將講解Python 2.2 的其他一些特性。
希望讀者通過本書獲取有用的信息,既能感到適度的挑戰(zhàn),又能從中獲得無窮樂趣!本書寫作過程令人愉快。Deitel & Associates 的團隊長期致力于程序語言教科書和e-Learning素材的開發(fā)。我們涉足幾乎每一種主流程序語言。在編寫本書過程中,我們也注意到一些特別的地方。我們的開發(fā)者和撰稿人對Python 給與高度評價。它強大的功能、高度的可靠性和編碼的簡潔性,給人留下深刻印象。他們喜歡Python能讓他們運用自如。他們喜歡這種開發(fā)源碼的軟件開發(fā)世界,為Python 而開發(fā)的模塊正在與日俱增。
無論老師、學(xué)生、有經(jīng)驗的專業(yè)程序員還是新手,都能通過本書汲取有益的知識。Python 是一種出色的程序語言,也是開發(fā)具有工業(yè)強度的商業(yè)應(yīng)用程序的優(yōu)秀語言。對于學(xué)生和新手級程序員,通過前幾章的學(xué)習(xí),可打下良好的基礎(chǔ)。我們討論了許多程序開發(fā)模型,包括結(jié)構(gòu)化編程、基于對象的編程、面向?qū)ο蟮木幊桃约笆录?qū)動的編程等。對于專業(yè)開發(fā)人員,我們則選用Python 真正強大的功能來創(chuàng)建實用的、進行了完全實現(xiàn)的系統(tǒng)。這部分的重點在于第23 章的案例分析,它詳細講解了如何構(gòu)建一個真正的網(wǎng)上書店。
本書涉及了所有標準主題,包括數(shù)據(jù)類型、運算符、控制結(jié)構(gòu)、算術(shù)運算、字符串、決策、算法開發(fā)、函數(shù)和隨機數(shù)/模擬等等。
本書的特色之一是全面講解了數(shù)據(jù)結(jié)構(gòu),書中首先介紹了Python 的內(nèi)建結(jié)構(gòu)--列表、元組和字典。之后,還對包括隊列、堆棧、鏈表和二叉樹在內(nèi)的傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)進行了深入講解。
本書強調(diào)了Internet 和Web 開發(fā)--我們首先介紹了CGI,并在隨后幾章用它來構(gòu)建基于Web 的應(yīng)用程序。我們用整章篇幅(第25 章)介紹了PSP(Python Server Pages,Python 服務(wù)器頁),并利用它改編了第16 章介紹的一個論壇案例。
本書用3章篇幅詳細介紹了面向?qū)ο缶幊?,涉及的主題包括類、封裝、對象、屬性、方法、構(gòu)造函數(shù)、析構(gòu)函數(shù)、自定義、運算符重載、繼承、基類、派生類和多態(tài)性等等。
本書透徹講解了如何用Tkinter 進行GUI(Graphical User Interface,圖形用戶界面)編程,涉及的主題包括事件驅(qū)動編程、標簽、按鈕、復(fù)選框、單選鈕、鼠標事件處理、鍵盤事件處理、布局管理器以及一系列高級GUI 功能,利用它們可創(chuàng)建和處理菜單和滾動組件。
我們討論了如何利用異常處理使程序更"健壯"。Python 強大的字符串處理功能在此得到了深入講解。至于正則表達式的主題,雖然它不易于理解,但由于它功能強大,所以我們也進行了詳盡的解釋。我們討論了文件處理、順序訪問文件、隨機訪問文件(以及shelve 模塊),同時還開發(fā)了一個事務(wù)處理程序,論述了對象序列化的問題。通過討論文件處理,為后來的Python 數(shù)據(jù)庫編程奠定了良好的基礎(chǔ),后者通過Python 的DB-API(Database Application Programming Interface,數(shù)據(jù)庫應(yīng)用程序編程接口)來實現(xiàn)。我們討論了關(guān)系數(shù)據(jù)庫模型,并概述了SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)。許多人都熟悉HTML,但很少有人知道萬維網(wǎng)協(xié)會(W3C)--HTML 技術(shù)的創(chuàng)建者--已聲稱HTML已成為"過去",不會繼續(xù)開發(fā)它。全世界正逐步過渡到XML(eXtensible Markup Language,可擴展標記語言)。在這期間,Web 開發(fā)將采用一種名為XHTML 的過渡技術(shù)。本書許多應(yīng)用程序都將采用XHTML。至于XML的常規(guī)主題,將采用一整章(即第15 章)的篇幅來介紹它。對如今的Web 應(yīng)用程序開發(fā)者來說,這是必須掌握的。然后,我們將另起一章(第16 章),專門講解Python 的XML處理技術(shù),并提供一個詳細的案例分析,運用CGI 和XML來構(gòu)建論壇。
計算機應(yīng)用程序通常能很好地一次做一件事。今天,較高級的應(yīng)用程序需要同時做許多事,在計算機領(lǐng)域內(nèi),我們更喜歡將其稱為"并發(fā)性"。我們會分別用整章的篇幅來講解進程管理(第18 章)和多線程處理(第19 章)。Python 程序員利用這些技術(shù),可做到以前只有系統(tǒng)程序員在操作系統(tǒng)的級別上才能做到的事情。
我們討論了聯(lián)網(wǎng)問題,包括Web 使用的HTTP 協(xié)議,使用流套接字進行的客戶機/服務(wù)器聯(lián)網(wǎng),使用數(shù)據(jù)文報進行的無連接的客戶機/服務(wù)器交互,另外還使用多線程服務(wù)器,實現(xiàn)了一個客戶機/服務(wù)器的Tic-Tac-Toe(即三連棋)游戲。
我們?nèi)嬗懻摿顺R姷挠嬎銠C安全問題,并講解了Python 特有的一些安全問題。討論了如何使用模塊Bastion 在一個限制環(huán)境中執(zhí)行惡意代碼。另外,還演示了如何用模塊rotor 對文本進行加密。作為本書的一個重點,第23 章展示了一個詳盡的案例分析,它使用前幾章和本書附錄討論的許多技術(shù)來實現(xiàn)一個電子商務(wù)網(wǎng)上書店。我們介紹了HTTP 會話和會話跟蹤技術(shù),并將這個書店構(gòu)建成一個多層的客戶機/服務(wù)器系統(tǒng),它有能力處理大批量的客戶,其中包括標準Web 瀏覽器(使用XHTML)和無線客戶(使用WML和XHTML Basic)。
我們用整章(第24 章)的篇幅講解多媒體所涉及的主題。使用3D 圖形例子介紹了PyOpenGL,并介紹了3D 環(huán)境Alice,它提供的對象可通過Python 腳本"動"起來。我們通過設(shè)計一個CD 播放器,一個影片播放器和一個太空船游戲,演示了pygame。
認識到服務(wù)器端開發(fā)的重要性之后,我們將展示PSP(Python 服務(wù)器頁),它可取代CGI。另外,我們將論壇案例從CGI 技術(shù)轉(zhuǎn)換成了PSP。
本書提供了兩個附錄,均與Python 有關(guān)。其中,附錄A 介紹了Python 開發(fā)環(huán)境,附錄B 介紹了Python 2.2 的其他特點,其中還討論了迭代器、生成器和嵌套作用域。
閱讀本書的過程中,不管遇到什么問題,都請聯(lián)系deitel@deitel.com,來信必復(fù)。另外,請經(jīng)常訪問我們的網(wǎng)站www.deitel.com,并訂閱免費的The Deitel BUZZ 電子刊物。我們會通過網(wǎng)站及電子刊物介紹最新的Python 信息以及我們推出的其他產(chǎn)品和服務(wù)。
本書具有許多特色,包括:
* 代碼清洗(code washing)。這是我們自己創(chuàng)造的一個術(shù)語,是指對程序進行全面格式化,為其精心添加注釋,并使其具有一個開放布局。程序代碼組合成小的、結(jié)構(gòu)清晰的塊,這大大增強了可讀性--這正是我們要達到的一個重要目標,尤其是全書總共含有14 930 行代碼!
* 面向?qū)ο缶幊?。面向?qū)ο缶幊淌悄壳皬V泛采用的一種編程技術(shù),用于開發(fā)健壯的、可重用的軟件。Python 被設(shè)計成一種面向?qū)ο笳Z言,本書全面討論了Python 的各種面向?qū)ο筇匦?。?shù)據(jù)完整性是Python 中尤其要關(guān)注的一個問題。所有Python 類數(shù)據(jù)默認都是公共的,但幾種技術(shù)可用于確保數(shù)據(jù)完整性。我們用3 章篇幅詳細討論了這些問題以及其他面向?qū)ο蟮闹黝}。其中,第7 章介紹如何創(chuàng)建類,并討論了公共、私有和get/set 方法。第8 章解釋如何使創(chuàng)建的類具有自定義行為,比如運算符重載、字符串表示、列表和字典行為以及用于自定義屬性訪問的方法等。第9 章對這些概念進行了進一步擴展,我們討論了如何創(chuàng)建新類,令其"吸收"現(xiàn)有類的功能。通過這一章的學(xué)習(xí),讀者會熟悉一些關(guān)鍵概念,比如多態(tài)性、抽象類和具體類等,利用它們可更方便地處理一個繼承層次結(jié)構(gòu)中的對象。本章最后討論了Python 2.2提供的其他面向?qū)ο竽芰?,其中包?quot;屬性"(Properties)。
* 數(shù)據(jù)庫應(yīng)用程序編程接口。數(shù)據(jù)庫存儲著大量信息,個人和單位需要訪問它們以處理各種事務(wù)。數(shù)據(jù)庫管理系統(tǒng)(DBMS)供單位和個人用來操縱數(shù)據(jù)庫--Python 提供了相應(yīng)的數(shù)據(jù)庫應(yīng)用程序編程接口(DB-API),以訪問數(shù)據(jù)庫管理系統(tǒng)
* XML??蓴U展標記語言(XML)在軟件開發(fā)領(lǐng)域和電子商務(wù)社區(qū)獲得了蓬勃發(fā)展。由于XML是一種與平臺無關(guān)的技術(shù),用于描述數(shù)據(jù)和創(chuàng)建標記語言,所以XML 的數(shù)據(jù)移植性能與Python 的可移植應(yīng)用程序和服務(wù)較好地集成在一起。第15 章介紹了XML,我們討論了基本的XML標記和技術(shù),比如DTD 和Schema,它們用于校驗XML文檔內(nèi)容。第16 章則解釋了如何用文檔對象模型(Document Object Model,DOM)來處理XML文檔,以及如何通過可擴展樣式表語言轉(zhuǎn)換(eXtensible Stylesheet Language Transformation,XSLT),將XML文檔轉(zhuǎn)換成其他文檔類型。本章還介紹了DOM 的一種替代物,名為Simple API for XML(簡稱SAX),它充當(dāng)用于XML的一個基于事件的API。
* 公共網(wǎng)關(guān)接口(CGI)和Python 服務(wù)器頁(PSP)。因特網(wǎng)和萬維網(wǎng)已深入人們的日常生活,交互式網(wǎng)站是商業(yè)成功的關(guān)鍵。第6 章和第25 章介紹了服務(wù)器端Web 技術(shù),開發(fā)者利用它們可創(chuàng)建交互式的、基于Web 的應(yīng)用程序。第23 章提供了一個詳細的案例分析,它綜合運用MySQL、XML、XHTML、XHTML Basic、層疊樣式表(CSS)、XSLT、CGI 和無線標記語言(Wireless Markup Language,WML)來構(gòu)建一個動態(tài)電子商務(wù)應(yīng)用程序。 本書演示了一個XML論壇的兩種實現(xiàn)方式,用戶可將自己的文章張貼到在線論壇。第16 章使用的是CGI,第25 章使用的則是PSP。
* 圖形用戶界面(GUI)。Python 沒有內(nèi)建圖形用戶界面功能,但有許多模塊可供使用,它們提供對現(xiàn)有的GUI 軟件的訪問途徑。第10 章和第11 章討論了Tkinter 模塊(包括在Python 標準庫中),它允許Python 程序員訪問Tool Command Language/Took Kit(Tcl/Tk)這一流行的GUI 工具包。利用這些編程工具,開發(fā)者可快速、方便地創(chuàng)建圖形程序。利用在這幾章所學(xué)的知識,讀者可為本書其余部分的程序開發(fā)GUI。第11 章還討論了模塊Pmw,它利用Tkinter提供更復(fù)雜的GUI 組件。
* 多媒體。多媒體功能可生成具有豐富視聽感受的強大應(yīng)用程序,由此增強用戶的體驗。可利用幾個Python 模塊創(chuàng)建令人印象深刻的多媒體應(yīng)用程序。第24 章探討了PyOpenGL 和Alice的功能,它們可創(chuàng)建3D 圖形,并讓它"動"起來。同時還討論了pygame,它所包含的模塊便于開發(fā)者訪問強大的多媒體庫。第24 章使用pygame 創(chuàng)建一個CD 播放器、一個電腦游戲以及一個影片播放器。
* 多線程處理和進程管理。計算機可并發(fā)執(zhí)行大量任務(wù),比如同時打印文檔、從網(wǎng)絡(luò)下載文件和在Web 上沖浪等等。利用多線程處理技術(shù),應(yīng)用程序可執(zhí)行并發(fā)性任務(wù)。Python 的多線程處理和進程管理功能尤其適合今天高度復(fù)雜的、多媒體密集型的、數(shù)據(jù)庫密集型的、基于網(wǎng)絡(luò)的、基于多處理器的以及分布式的應(yīng)用程序。第18 章討論了并發(fā)性和進程間通信;第19章詳細討論了多線程處理的問題,其中詳細解釋了Python 的Global Interpreter Lock(即全局解釋器鎖,負責(zé)管理線程執(zhí)行)。本章還通過幾個例子,介紹了常見的線程同步機制。
* 文件處理和序列化。大多數(shù)應(yīng)用程序都要在磁盤上讀寫數(shù)據(jù)。Python 針對數(shù)據(jù)存儲和獲取提供了幾項高級功能。第14 章討論了用于存儲順序數(shù)據(jù)的基本文件對象、用于存儲隨機訪問數(shù)據(jù)的shelve 對象,以及用于將整個對象序列化到磁盤的cPickle 模塊。
此外,本書還討論了其他許多主題。要詳細了解每章的特點,請參閱1.6 節(jié)。
Python 2.2 的特性
本書出版時,喜聞Python 2.2 正式版剛剛發(fā)布。然而,本書所有示范代碼都通過了Python 2.2b2(即Beta 2)和Release Candidate 1 的測試。測試平臺包括Windows 和Linux操作系統(tǒng)。我們在各章盡可能介紹Python 2.2 的特性和功能。①本書要介紹Python 2.2 的以下特性。
Floor 除法和True 除法:Python 2.2 引入新運算符(//)進行Floor(整數(shù))除法。在此之前的Python版本中,除法運算符(/)的默認行為是Floor 除法;在2.2 以后的版本,默認行為變成True(浮點)除法。通過定義兩個除法運算符,Python 新版本可在同時使用了整數(shù)及浮點除法的程序中,避免出現(xiàn)類型混淆的問題。本書2.6 節(jié)討論了這兩種除法的區(qū)別,并解釋了程序如何更改除法運算符(/)的默認行為,令其執(zhí)行True 除法。
嵌套作用域:Python 2.2 引入了嵌套作用域的概念,它意味著嵌套的類、方法和函數(shù)現(xiàn)在可訪問其封閉作用域中定義的變量。這種行為尤其適合編寫lambda 表達式。第4 章討論了Python 的基本作用域規(guī)則,并提供了一系列萬維網(wǎng)資源,便于讀者更深入地了解嵌套作用域。如程序員在一種功能性編程模型中使用Python,作用域的嵌套就顯得非常重要。附錄B 更詳細地討論了嵌套作用域。由于本書強調(diào)的主要是面向?qū)ο蟮木幊田L(fēng)格,所以只指出了使用嵌套作用域的一個高級動機,并推薦了可進一步參考的資源,便于讀者在需要時了解Python 中的嵌套作用域和功能性編程。
更多的面向?qū)ο蠊δ埽篜ython 2.2 的大多數(shù)新特性是為語言添加更多的面向?qū)ο蠊δ?。? 章和第9 章介紹了其中的一些新特性。第8 章討論了如何重載一個由程序員定義的類,以便為運算符(包括新運算符//)定義行為。介紹了一個字典方法,它也是Python 2.2 版本新增的,便于程序用if/in 語句檢測字典中是否包含一個特定的鍵。第9 章討論開發(fā)者們期待以久的新特性--允許從內(nèi)建類型繼承程序員定義的類。本章展示了一個實例,它繼承自內(nèi)建類型list,目的是實現(xiàn)由程序員定義一個列表,其中只包含惟一性的元素。還討論了其他面向?qū)ο筇匦裕渲邪o態(tài)方法,__slots__(用于定義類中可能包含的一個對象的屬性),方法__getattribute__(客戶每次訪問一個對象的屬性時執(zhí)行),以及屬性(允許類定義get/set 方法,以便在客戶訪問一個屬性時執(zhí)行)。
迭代器:附錄B 介紹的其他Python 2.2 特點中,有的未在正文中詳細講解。附錄B 首先全面地探討了迭代器--用于遍歷一系列值的特殊對象。B.2 節(jié)提供了兩個例子,它們展示了由程序員定義的迭代器類,并演示該類的一個客戶如何使用迭代器從一個序列中獲取值。第一個例子展示了如何定義一個類,使它的對象支持迭代器;第二個例子展示了一個計算機猜謎游戲,它展示如何利用迭代器處理長度不確定的序列。Python 2.2 采用了新的迭代器機制后,性能比以前的版本有了顯著改進。另外,軟件設(shè)計也因為程序員能分離迭代行為和隨機訪問行為而得以改進。
生成器:這是一種"可恢復(fù)函數(shù)",能記住兩次調(diào)用期間的狀態(tài)。生成器也有利于性能和設(shè)計的改進。通常,程序中可以寫一個生成器,采用一種簡單、直觀方式定義如何生成一個序列的元素。生成器還有利于執(zhí)行重復(fù)性任務(wù),或要求復(fù)雜邏輯和狀態(tài)信息才能完成的任務(wù)。B.2 節(jié)圍繞上述問題討論了生成器,并定義了兩個版本的生成器來計算斐波拉契序列。第一個版本不確定地生成序列中的下一個值;第二個生成所有序列值,直到包括用戶自定義的第n個值。
萬維網(wǎng)訪問
本書(以及我們的其他出版物)所有示例代碼都可從以下網(wǎng)站下載:
www.deitel.com
www.prenhall.com/deitel
注冊過程非常簡單。建議下載所有例子,并在閱讀時運行相應(yīng)的程序。修改例子,可馬上看到修改效果--這是提升編程水平的有效方式之一。上述網(wǎng)站還解釋了如何安裝本書用到的各種軟件(比如Apache Web Server)。網(wǎng)站還提供其他Web 服務(wù)器和軟件的安裝指南(注意,它們是有版權(quán)的。學(xué)習(xí)時可任意使用,但未經(jīng)Prentice Hall 和作者的書面許可,不得采取任何方式重新出版它的任何部分)。
?、?閱讀本書前,先從python.org 下載最新Python 版本。新版本發(fā)布后,我們會對本書代碼進行測試,并在www.deitel.com 進行相應(yīng)的更新。閱讀每一章之前,最好能訪問我們的網(wǎng)站查看這些更新。
希望讀者通過本書獲取有用的信息,既能感到適度的挑戰(zhàn),又能從中獲得無窮樂趣!本書寫作過程令人愉快。Deitel & Associates 的團隊長期致力于程序語言教科書和e-Learning素材的開發(fā)。我們涉足幾乎每一種主流程序語言。在編寫本書過程中,我們也注意到一些特別的地方。我們的開發(fā)者和撰稿人對Python 給與高度評價。它強大的功能、高度的可靠性和編碼的簡潔性,給人留下深刻印象。他們喜歡Python能讓他們運用自如。他們喜歡這種開發(fā)源碼的軟件開發(fā)世界,為Python 而開發(fā)的模塊正在與日俱增。
無論老師、學(xué)生、有經(jīng)驗的專業(yè)程序員還是新手,都能通過本書汲取有益的知識。Python 是一種出色的程序語言,也是開發(fā)具有工業(yè)強度的商業(yè)應(yīng)用程序的優(yōu)秀語言。對于學(xué)生和新手級程序員,通過前幾章的學(xué)習(xí),可打下良好的基礎(chǔ)。我們討論了許多程序開發(fā)模型,包括結(jié)構(gòu)化編程、基于對象的編程、面向?qū)ο蟮木幊桃约笆录?qū)動的編程等。對于專業(yè)開發(fā)人員,我們則選用Python 真正強大的功能來創(chuàng)建實用的、進行了完全實現(xiàn)的系統(tǒng)。這部分的重點在于第23 章的案例分析,它詳細講解了如何構(gòu)建一個真正的網(wǎng)上書店。
本書涉及了所有標準主題,包括數(shù)據(jù)類型、運算符、控制結(jié)構(gòu)、算術(shù)運算、字符串、決策、算法開發(fā)、函數(shù)和隨機數(shù)/模擬等等。
本書的特色之一是全面講解了數(shù)據(jù)結(jié)構(gòu),書中首先介紹了Python 的內(nèi)建結(jié)構(gòu)--列表、元組和字典。之后,還對包括隊列、堆棧、鏈表和二叉樹在內(nèi)的傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)進行了深入講解。
本書強調(diào)了Internet 和Web 開發(fā)--我們首先介紹了CGI,并在隨后幾章用它來構(gòu)建基于Web 的應(yīng)用程序。我們用整章篇幅(第25 章)介紹了PSP(Python Server Pages,Python 服務(wù)器頁),并利用它改編了第16 章介紹的一個論壇案例。
本書用3章篇幅詳細介紹了面向?qū)ο缶幊?,涉及的主題包括類、封裝、對象、屬性、方法、構(gòu)造函數(shù)、析構(gòu)函數(shù)、自定義、運算符重載、繼承、基類、派生類和多態(tài)性等等。
本書透徹講解了如何用Tkinter 進行GUI(Graphical User Interface,圖形用戶界面)編程,涉及的主題包括事件驅(qū)動編程、標簽、按鈕、復(fù)選框、單選鈕、鼠標事件處理、鍵盤事件處理、布局管理器以及一系列高級GUI 功能,利用它們可創(chuàng)建和處理菜單和滾動組件。
我們討論了如何利用異常處理使程序更"健壯"。Python 強大的字符串處理功能在此得到了深入講解。至于正則表達式的主題,雖然它不易于理解,但由于它功能強大,所以我們也進行了詳盡的解釋。我們討論了文件處理、順序訪問文件、隨機訪問文件(以及shelve 模塊),同時還開發(fā)了一個事務(wù)處理程序,論述了對象序列化的問題。通過討論文件處理,為后來的Python 數(shù)據(jù)庫編程奠定了良好的基礎(chǔ),后者通過Python 的DB-API(Database Application Programming Interface,數(shù)據(jù)庫應(yīng)用程序編程接口)來實現(xiàn)。我們討論了關(guān)系數(shù)據(jù)庫模型,并概述了SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)。許多人都熟悉HTML,但很少有人知道萬維網(wǎng)協(xié)會(W3C)--HTML 技術(shù)的創(chuàng)建者--已聲稱HTML已成為"過去",不會繼續(xù)開發(fā)它。全世界正逐步過渡到XML(eXtensible Markup Language,可擴展標記語言)。在這期間,Web 開發(fā)將采用一種名為XHTML 的過渡技術(shù)。本書許多應(yīng)用程序都將采用XHTML。至于XML的常規(guī)主題,將采用一整章(即第15 章)的篇幅來介紹它。對如今的Web 應(yīng)用程序開發(fā)者來說,這是必須掌握的。然后,我們將另起一章(第16 章),專門講解Python 的XML處理技術(shù),并提供一個詳細的案例分析,運用CGI 和XML來構(gòu)建論壇。
計算機應(yīng)用程序通常能很好地一次做一件事。今天,較高級的應(yīng)用程序需要同時做許多事,在計算機領(lǐng)域內(nèi),我們更喜歡將其稱為"并發(fā)性"。我們會分別用整章的篇幅來講解進程管理(第18 章)和多線程處理(第19 章)。Python 程序員利用這些技術(shù),可做到以前只有系統(tǒng)程序員在操作系統(tǒng)的級別上才能做到的事情。
我們討論了聯(lián)網(wǎng)問題,包括Web 使用的HTTP 協(xié)議,使用流套接字進行的客戶機/服務(wù)器聯(lián)網(wǎng),使用數(shù)據(jù)文報進行的無連接的客戶機/服務(wù)器交互,另外還使用多線程服務(wù)器,實現(xiàn)了一個客戶機/服務(wù)器的Tic-Tac-Toe(即三連棋)游戲。
我們?nèi)嬗懻摿顺R姷挠嬎銠C安全問題,并講解了Python 特有的一些安全問題。討論了如何使用模塊Bastion 在一個限制環(huán)境中執(zhí)行惡意代碼。另外,還演示了如何用模塊rotor 對文本進行加密。作為本書的一個重點,第23 章展示了一個詳盡的案例分析,它使用前幾章和本書附錄討論的許多技術(shù)來實現(xiàn)一個電子商務(wù)網(wǎng)上書店。我們介紹了HTTP 會話和會話跟蹤技術(shù),并將這個書店構(gòu)建成一個多層的客戶機/服務(wù)器系統(tǒng),它有能力處理大批量的客戶,其中包括標準Web 瀏覽器(使用XHTML)和無線客戶(使用WML和XHTML Basic)。
我們用整章(第24 章)的篇幅講解多媒體所涉及的主題。使用3D 圖形例子介紹了PyOpenGL,并介紹了3D 環(huán)境Alice,它提供的對象可通過Python 腳本"動"起來。我們通過設(shè)計一個CD 播放器,一個影片播放器和一個太空船游戲,演示了pygame。
認識到服務(wù)器端開發(fā)的重要性之后,我們將展示PSP(Python 服務(wù)器頁),它可取代CGI。另外,我們將論壇案例從CGI 技術(shù)轉(zhuǎn)換成了PSP。
本書提供了兩個附錄,均與Python 有關(guān)。其中,附錄A 介紹了Python 開發(fā)環(huán)境,附錄B 介紹了Python 2.2 的其他特點,其中還討論了迭代器、生成器和嵌套作用域。
閱讀本書的過程中,不管遇到什么問題,都請聯(lián)系deitel@deitel.com,來信必復(fù)。另外,請經(jīng)常訪問我們的網(wǎng)站www.deitel.com,并訂閱免費的The Deitel BUZZ 電子刊物。我們會通過網(wǎng)站及電子刊物介紹最新的Python 信息以及我們推出的其他產(chǎn)品和服務(wù)。
本書具有許多特色,包括:
* 代碼清洗(code washing)。這是我們自己創(chuàng)造的一個術(shù)語,是指對程序進行全面格式化,為其精心添加注釋,并使其具有一個開放布局。程序代碼組合成小的、結(jié)構(gòu)清晰的塊,這大大增強了可讀性--這正是我們要達到的一個重要目標,尤其是全書總共含有14 930 行代碼!
* 面向?qū)ο缶幊?。面向?qū)ο缶幊淌悄壳皬V泛采用的一種編程技術(shù),用于開發(fā)健壯的、可重用的軟件。Python 被設(shè)計成一種面向?qū)ο笳Z言,本書全面討論了Python 的各種面向?qū)ο筇匦?。?shù)據(jù)完整性是Python 中尤其要關(guān)注的一個問題。所有Python 類數(shù)據(jù)默認都是公共的,但幾種技術(shù)可用于確保數(shù)據(jù)完整性。我們用3 章篇幅詳細討論了這些問題以及其他面向?qū)ο蟮闹黝}。其中,第7 章介紹如何創(chuàng)建類,并討論了公共、私有和get/set 方法。第8 章解釋如何使創(chuàng)建的類具有自定義行為,比如運算符重載、字符串表示、列表和字典行為以及用于自定義屬性訪問的方法等。第9 章對這些概念進行了進一步擴展,我們討論了如何創(chuàng)建新類,令其"吸收"現(xiàn)有類的功能。通過這一章的學(xué)習(xí),讀者會熟悉一些關(guān)鍵概念,比如多態(tài)性、抽象類和具體類等,利用它們可更方便地處理一個繼承層次結(jié)構(gòu)中的對象。本章最后討論了Python 2.2提供的其他面向?qū)ο竽芰?,其中包?quot;屬性"(Properties)。
* 數(shù)據(jù)庫應(yīng)用程序編程接口。數(shù)據(jù)庫存儲著大量信息,個人和單位需要訪問它們以處理各種事務(wù)。數(shù)據(jù)庫管理系統(tǒng)(DBMS)供單位和個人用來操縱數(shù)據(jù)庫--Python 提供了相應(yīng)的數(shù)據(jù)庫應(yīng)用程序編程接口(DB-API),以訪問數(shù)據(jù)庫管理系統(tǒng)
* XML??蓴U展標記語言(XML)在軟件開發(fā)領(lǐng)域和電子商務(wù)社區(qū)獲得了蓬勃發(fā)展。由于XML是一種與平臺無關(guān)的技術(shù),用于描述數(shù)據(jù)和創(chuàng)建標記語言,所以XML 的數(shù)據(jù)移植性能與Python 的可移植應(yīng)用程序和服務(wù)較好地集成在一起。第15 章介紹了XML,我們討論了基本的XML標記和技術(shù),比如DTD 和Schema,它們用于校驗XML文檔內(nèi)容。第16 章則解釋了如何用文檔對象模型(Document Object Model,DOM)來處理XML文檔,以及如何通過可擴展樣式表語言轉(zhuǎn)換(eXtensible Stylesheet Language Transformation,XSLT),將XML文檔轉(zhuǎn)換成其他文檔類型。本章還介紹了DOM 的一種替代物,名為Simple API for XML(簡稱SAX),它充當(dāng)用于XML的一個基于事件的API。
* 公共網(wǎng)關(guān)接口(CGI)和Python 服務(wù)器頁(PSP)。因特網(wǎng)和萬維網(wǎng)已深入人們的日常生活,交互式網(wǎng)站是商業(yè)成功的關(guān)鍵。第6 章和第25 章介紹了服務(wù)器端Web 技術(shù),開發(fā)者利用它們可創(chuàng)建交互式的、基于Web 的應(yīng)用程序。第23 章提供了一個詳細的案例分析,它綜合運用MySQL、XML、XHTML、XHTML Basic、層疊樣式表(CSS)、XSLT、CGI 和無線標記語言(Wireless Markup Language,WML)來構(gòu)建一個動態(tài)電子商務(wù)應(yīng)用程序。 本書演示了一個XML論壇的兩種實現(xiàn)方式,用戶可將自己的文章張貼到在線論壇。第16 章使用的是CGI,第25 章使用的則是PSP。
* 圖形用戶界面(GUI)。Python 沒有內(nèi)建圖形用戶界面功能,但有許多模塊可供使用,它們提供對現(xiàn)有的GUI 軟件的訪問途徑。第10 章和第11 章討論了Tkinter 模塊(包括在Python 標準庫中),它允許Python 程序員訪問Tool Command Language/Took Kit(Tcl/Tk)這一流行的GUI 工具包。利用這些編程工具,開發(fā)者可快速、方便地創(chuàng)建圖形程序。利用在這幾章所學(xué)的知識,讀者可為本書其余部分的程序開發(fā)GUI。第11 章還討論了模塊Pmw,它利用Tkinter提供更復(fù)雜的GUI 組件。
* 多媒體。多媒體功能可生成具有豐富視聽感受的強大應(yīng)用程序,由此增強用戶的體驗。可利用幾個Python 模塊創(chuàng)建令人印象深刻的多媒體應(yīng)用程序。第24 章探討了PyOpenGL 和Alice的功能,它們可創(chuàng)建3D 圖形,并讓它"動"起來。同時還討論了pygame,它所包含的模塊便于開發(fā)者訪問強大的多媒體庫。第24 章使用pygame 創(chuàng)建一個CD 播放器、一個電腦游戲以及一個影片播放器。
* 多線程處理和進程管理。計算機可并發(fā)執(zhí)行大量任務(wù),比如同時打印文檔、從網(wǎng)絡(luò)下載文件和在Web 上沖浪等等。利用多線程處理技術(shù),應(yīng)用程序可執(zhí)行并發(fā)性任務(wù)。Python 的多線程處理和進程管理功能尤其適合今天高度復(fù)雜的、多媒體密集型的、數(shù)據(jù)庫密集型的、基于網(wǎng)絡(luò)的、基于多處理器的以及分布式的應(yīng)用程序。第18 章討論了并發(fā)性和進程間通信;第19章詳細討論了多線程處理的問題,其中詳細解釋了Python 的Global Interpreter Lock(即全局解釋器鎖,負責(zé)管理線程執(zhí)行)。本章還通過幾個例子,介紹了常見的線程同步機制。
* 文件處理和序列化。大多數(shù)應(yīng)用程序都要在磁盤上讀寫數(shù)據(jù)。Python 針對數(shù)據(jù)存儲和獲取提供了幾項高級功能。第14 章討論了用于存儲順序數(shù)據(jù)的基本文件對象、用于存儲隨機訪問數(shù)據(jù)的shelve 對象,以及用于將整個對象序列化到磁盤的cPickle 模塊。
此外,本書還討論了其他許多主題。要詳細了解每章的特點,請參閱1.6 節(jié)。
Python 2.2 的特性
本書出版時,喜聞Python 2.2 正式版剛剛發(fā)布。然而,本書所有示范代碼都通過了Python 2.2b2(即Beta 2)和Release Candidate 1 的測試。測試平臺包括Windows 和Linux操作系統(tǒng)。我們在各章盡可能介紹Python 2.2 的特性和功能。①本書要介紹Python 2.2 的以下特性。
Floor 除法和True 除法:Python 2.2 引入新運算符(//)進行Floor(整數(shù))除法。在此之前的Python版本中,除法運算符(/)的默認行為是Floor 除法;在2.2 以后的版本,默認行為變成True(浮點)除法。通過定義兩個除法運算符,Python 新版本可在同時使用了整數(shù)及浮點除法的程序中,避免出現(xiàn)類型混淆的問題。本書2.6 節(jié)討論了這兩種除法的區(qū)別,并解釋了程序如何更改除法運算符(/)的默認行為,令其執(zhí)行True 除法。
嵌套作用域:Python 2.2 引入了嵌套作用域的概念,它意味著嵌套的類、方法和函數(shù)現(xiàn)在可訪問其封閉作用域中定義的變量。這種行為尤其適合編寫lambda 表達式。第4 章討論了Python 的基本作用域規(guī)則,并提供了一系列萬維網(wǎng)資源,便于讀者更深入地了解嵌套作用域。如程序員在一種功能性編程模型中使用Python,作用域的嵌套就顯得非常重要。附錄B 更詳細地討論了嵌套作用域。由于本書強調(diào)的主要是面向?qū)ο蟮木幊田L(fēng)格,所以只指出了使用嵌套作用域的一個高級動機,并推薦了可進一步參考的資源,便于讀者在需要時了解Python 中的嵌套作用域和功能性編程。
更多的面向?qū)ο蠊δ埽篜ython 2.2 的大多數(shù)新特性是為語言添加更多的面向?qū)ο蠊δ?。? 章和第9 章介紹了其中的一些新特性。第8 章討論了如何重載一個由程序員定義的類,以便為運算符(包括新運算符//)定義行為。介紹了一個字典方法,它也是Python 2.2 版本新增的,便于程序用if/in 語句檢測字典中是否包含一個特定的鍵。第9 章討論開發(fā)者們期待以久的新特性--允許從內(nèi)建類型繼承程序員定義的類。本章展示了一個實例,它繼承自內(nèi)建類型list,目的是實現(xiàn)由程序員定義一個列表,其中只包含惟一性的元素。還討論了其他面向?qū)ο筇匦裕渲邪o態(tài)方法,__slots__(用于定義類中可能包含的一個對象的屬性),方法__getattribute__(客戶每次訪問一個對象的屬性時執(zhí)行),以及屬性(允許類定義get/set 方法,以便在客戶訪問一個屬性時執(zhí)行)。
迭代器:附錄B 介紹的其他Python 2.2 特點中,有的未在正文中詳細講解。附錄B 首先全面地探討了迭代器--用于遍歷一系列值的特殊對象。B.2 節(jié)提供了兩個例子,它們展示了由程序員定義的迭代器類,并演示該類的一個客戶如何使用迭代器從一個序列中獲取值。第一個例子展示了如何定義一個類,使它的對象支持迭代器;第二個例子展示了一個計算機猜謎游戲,它展示如何利用迭代器處理長度不確定的序列。Python 2.2 采用了新的迭代器機制后,性能比以前的版本有了顯著改進。另外,軟件設(shè)計也因為程序員能分離迭代行為和隨機訪問行為而得以改進。
生成器:這是一種"可恢復(fù)函數(shù)",能記住兩次調(diào)用期間的狀態(tài)。生成器也有利于性能和設(shè)計的改進。通常,程序中可以寫一個生成器,采用一種簡單、直觀方式定義如何生成一個序列的元素。生成器還有利于執(zhí)行重復(fù)性任務(wù),或要求復(fù)雜邏輯和狀態(tài)信息才能完成的任務(wù)。B.2 節(jié)圍繞上述問題討論了生成器,并定義了兩個版本的生成器來計算斐波拉契序列。第一個版本不確定地生成序列中的下一個值;第二個生成所有序列值,直到包括用戶自定義的第n個值。
萬維網(wǎng)訪問
本書(以及我們的其他出版物)所有示例代碼都可從以下網(wǎng)站下載:
www.deitel.com
www.prenhall.com/deitel
注冊過程非常簡單。建議下載所有例子,并在閱讀時運行相應(yīng)的程序。修改例子,可馬上看到修改效果--這是提升編程水平的有效方式之一。上述網(wǎng)站還解釋了如何安裝本書用到的各種軟件(比如Apache Web Server)。網(wǎng)站還提供其他Web 服務(wù)器和軟件的安裝指南(注意,它們是有版權(quán)的。學(xué)習(xí)時可任意使用,但未經(jīng)Prentice Hall 和作者的書面許可,不得采取任何方式重新出版它的任何部分)。
?、?閱讀本書前,先從python.org 下載最新Python 版本。新版本發(fā)布后,我們會對本書代碼進行測試,并在www.deitel.com 進行相應(yīng)的更新。閱讀每一章之前,最好能訪問我們的網(wǎng)站查看這些更新。
下載地址
下載錯誤?【投訴報錯】
人氣書籍

Python學(xué)習(xí)手冊第4版 中文PDF版 數(shù)10萬Python愛好者的入門必讀
Python 核心編程 (第二版) 中文高清pdf版![Python編程入門經(jīng)典 PDF中文版[56M] Python編程入門經(jīng)典 PDF中文版[56M]](http://img.jbzj.com/do/uploads/litimg/130228/142530221139.gif)
Python編程入門經(jīng)典 PDF中文版[56M]![Python學(xué)習(xí)手冊 第5版(Learning Python, 5th Edition)[魯特茲] P Python學(xué)習(xí)手冊 第5版(Learning Python, 5th Edition)[魯特茲] P](http://img.jbzj.com/do/uploads/litimg/150906/1143312OG1.jpg)
Python學(xué)習(xí)手冊 第5版(Learning Python, 5th Edition)[魯特茲] P![用Python寫網(wǎng)絡(luò)爬蟲 (理查德 勞森) 中文pdf完整版[10MB] 用Python寫網(wǎng)絡(luò)爬蟲 (理查德 勞森) 中文pdf完整版[10MB]](http://img.jbzj.com/do/uploads/litimg/170121/1A5142J159.jpg)
用Python寫網(wǎng)絡(luò)爬蟲 (理查德 勞森) 中文pdf完整版[10MB]![Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn) 完整版 pdf掃描版[63MB] Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn) 完整版 pdf掃描版[63MB]](http://img.jbzj.com/do/uploads/litimg/161226/1G1302L315.jpg)
Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn) 完整版 pdf掃描版[63MB]![Python金融大數(shù)據(jù)分析 完整版 中文pdf掃描版[42MB] Python金融大數(shù)據(jù)分析 完整版 中文pdf掃描版[42MB]](http://img.jbzj.com/do/uploads/litimg/161109/1FQ12MO0.jpg)
Python金融大數(shù)據(jù)分析 完整版 中文pdf掃描版[42MB]
Python基礎(chǔ)教程(第3版) 中文高清pdf完整版![Head First Python(中文版) PDF 掃描版[38M] Head First Python(中文版) PDF 掃描版[38M]](http://img.jbzj.com/do/uploads/litimg/130613/093Q42241W.jpg)
Head First Python(中文版) PDF 掃描版[38M]![Python Qt GUI快速編程——PyQt編程指南 中文pdf完整版[99MB] Python Qt GUI快速編程——PyQt編程指南 中文pdf完整版[99MB]](http://img.jbzj.com/do/uploads/litimg/170615/1G9252L424.jpg)
Python Qt GUI快速編程——PyQt編程指南 中文pdf完整版[99MB]
下載聲明
☉ 解壓密碼:www.dhdzp.com 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
☉ 如果這個軟件總是不能下載的請在評論中留言,我們會盡快修復(fù),謝謝!
☉ 下載本站資源,如果服務(wù)器暫不能下載請過一段時間重試!或者多試試幾個下載地址
☉ 如果遇到什么問題,請評論留言,我們定會解決問題,謝謝大家支持!
☉ 本站提供的一些商業(yè)軟件是供學(xué)習(xí)研究之用,如用于商業(yè)用途,請購買正版。
☉ 本站提供的Python編程金典 pdf版(49M)資源來源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。


