內容簡介
python是最流行的動態腳本語言之一。本書共27章,由淺入深、全面系統地介紹了利用python語言進行程式開發的知識和技巧,包括 python的安裝和環境配置、python的基本語法、模組和函式、內置數據結構、字元串和檔案的處理、正則表達式的使用、異常的捕獲和處理、面向對象的語言特性和設計、python的資料庫編程、wxpython庫的使用、html套用、xml套用、django網頁開發框架的使用方法、測試驅動開發模式套用、python進程和執行緒、python系統管理、網路模組、python圖像處理和遊戲開發、python擴展和嵌入以及windows下的 python開發等。為了便於讀者學習,本書每個章節都提供了詳盡的例子,結合實例講解各個知識點。.
作者簡介
周偉,軟體工程師,有著多年的系統軟體和套用軟體開發經驗。熟悉Python、WxPython和Django等語言和開源框架,曾經領導和參與過多個使用Python開發的項目已經用於電力系統維護等行業。.
宗傑,曾參與多個稅務行業項目的開發和產品研發工作,在軟體設計開發等方面具有豐富的經驗,現從事報表產品的研發工作。熱衷子Python技術,套用 Python輔助項目開發。曾在多個項目中套用WxPython、PIL庫開發自動測試程式完成自動化測試,套用Django實現項目中異構資料庫的數據遷移等。
編輯推薦
深入解析Python語言,透析套用開發的方方面面
涵蓋9大套用領域的各類Python框架
詳細講解Python語言的基本要點和基礎類庫
內容覆蓋GUI、資料庫、Web、系統管理、網路編程、圖像處理、遊戲開發等領域
深入講解常用開發框架Django、PyWin32、PyGame、Twisted等框架工具包
通過豐富的典型套用實例,讀者迅速掌握實用技術
目錄
前言.
第一篇python語言基礎知識
第1章python概述
1.1python簡介
1.2python的特徵
1.3第一個python程式
1.4搭建開發環境
1.4.1python的下載和安裝
1.4.2互動式命令行的使用方法
1.5python的開發工具
1.5.1pythonwin的使用方法
1.5.2eclipse ide集成開發環境
1.5.3editplus編輯器環境的配置
1.6不同平台下的python
1.7小結
第2章python的基本語法
2.1python的檔案類型
2.2python的編碼規則
2.2.1命名規則
2.2.2代碼縮進與冒號
.2.2.3模組導入的規範
2.2.4使用空行分隔代碼
2.2.5正確的注釋
2.2.6語句的分隔
2.3變數和常量
2.3.1變數的命名
2.3.2變數的賦值
2.3.3局部變數
2.3.4全局變數
2.3.5常量
2.4數據類型
2.4.1數字類型
2.4.2字元串類型
2.5運算符與表達式
2.5.1算術運算符和算術表達式
2.5.2關係運算符和關係表達式
2.5.3邏輯運算符和邏輯表達式
2.5.4運算符的優先權
2.6小結
第3章python的控制語句
3.1結構化程式設計
3.2條件語句
3.2.1if語句
3.2.2if...elif...else語句
3.2.3if語句的嵌套
3.2.4實現switch語句的功能
3.3循環語句
3.3.1while循環
3.3.2for循環
3.3.3break和continue語句
3.4結構化程式示例
3.5小結
第4章內置數據結構
4.1元組
4.1.1元組的創建
4.1.2元組的訪問
4.1.3元組的遍歷
4.2列表
4.2.1列表的創建
4.2.2列表的使用方法
4.2.3列表的查找、排序與反轉
4.2.4用列表實現堆疊和佇列
4.3字典
4.3.1字典的創建
4.3.2字典的訪問
4.3.3字典的方法
4.3.4字典的排序與複製
4.3.5全局字典——sys.modules模組
4.4序列
4.5小結
第5章模組與函式
5.1python程式的結構
5.2模組
5.2.1模組的創建
5.2.2模組的導入
5.2.3模組的屬性
5.2.4模組的內置函式
2.5自定義包
5.3函式
5.3.1函式的定義
5.3.2函式的參數
5.3.3函式的返回值
5.3.4函式的嵌套
5.3.5遞歸函式
5.3.6lambda函式
5.3.7generator函式
5.4小結
第6章字元串與正則表達式
6.1字元串的操作
6.1.1字元串的格式化
6.1.2字元串的轉義符
6.1.3字元串的合併
6.1.4字元串的截取
6.1.5字元串的比較
6.1.6字元串的反轉
6.1.7字元串的查找和替換
6.1.8字元串與日期的轉換
6.2正則表達式
6.2.1正則表達式簡介
6.2.2使用sys re模組處理正則表達式
6.3小結
第7章檔案的處理
7.1檔案的基本操作
7.1.1檔案的打開或創建
7.1.2檔案的讀取
7.1.3檔案的寫入
7.1.4檔案的刪除
7.1.5檔案的複製
7.1.6檔案的重命名
7.1.7檔案內容的查找和替換
7.1.8檔案的比較
7.1.9配置檔案的訪問
7.2目錄的基本操作
7.2.1目錄的創建與刪除
7.2.2目錄的遍歷
7.3檔案和流
7.3.1python的流對象
7.3.2模擬java的輸入、輸出流
7.4檔案處理示例——檔案屬性瀏覽程式
7.5小結
第8章面向對象編程
8.1面向對象編程概述
8.2類和對象
8.2.1類和對象的區別
8.2.2類的定義
8.2.3對象的創建
8.2.4python對象的體系結構
8.3屬性和方法
8.3.1類的屬性
8.3.2類的方法
8.3.3內部類的使用
8.3.4__init__方法
8.3.5__del__方法
8.3.6垃圾回收機制
8.3.7類的內置方法
8.3.8方法的動態特性
8.4繼承
8.4.1使用繼承
8.4.2抽象類的模擬
8.4.3多態性
8.4.4多重繼承
8.4.5更好的繼承方式
8.5運算符的重載
8.6python與設計模式
8.6.1設計模式簡介
8.6.2設計模式示例——python實現工廠方法
8.7小結
第9章異常處理與程式調試
9.1異常的處理
9.1.1python中的異常
9.1.2try…except的使用方法
9.1.3try…finally的使用方法
9.1.4使用raise拋出異常
9.1.5自定義異常
9.1.6assert語句的使用方法
9.1.7異常信息
9.2使用pythonwin調試程式
9.3使用eclipse for python調試程式
9.3.1新建工程
9.3.2配置調試
9.3.3設定斷點
9.4小結
第10章python 的資料庫編程
10.1python環境下的資料庫編程
10.1.1通過odbc訪問資料庫
10.1.2使用dao對象訪問資料庫
10.1.3使用activex data object訪問資料庫
10.1.4python連線資料庫的專用模組
10.2python的持久化模組
10.2.1用dbhash模組讀寫數據
10.2.2shelve模組讀寫數據
10.3嵌入式資料庫sqlite
10.3.1sqlite的命令行工具
10.3.2使用sqlite3模組訪問sqlite資料庫
10.4小結
第二篇python的gui程式設計
第11章wxpython的開發環境
11.1python所支持的gui開發庫
11.1.1tkinter
11.1.2pygtk
11.1.3pyqt
11.2wxpython介紹
11.2.1下載和安裝wxpython
11.2.2第一個wxpython程式
11.2.3wxpython的封裝:pythoncard
11.3wxpython的開發工具
11.3.1使用wxglade開發wxpython程式
11.3.2使用wxformbuilder開發wxpython程式
11.3.3使用boa?constructor開發wxpython程式
11.4小結
第12章wxpython框架初步
12.1wxpython的程式結構
12.1.1wxpython應用程式的組成
12.1.2wxpython視窗的組成
12.1.3wxpython應用程式的運行過程
12.2wxpython中的事件驅動編程
12.2.1事件驅動的編程模型
12.2.2事件的觸發
12.2.3事件的綁定和處理
12.3wxpython的常用組件
12.3.1對話框
12.3.2工具列
12.3.3狀態欄
12.4小結
第13章wxpython庫中的基本組件
13.1靜態文本框
13.2文本框
13.2.1單行文本框
13.2.2多行文本框
13.3按鈕控制項
13.3.1普通按鈕
13.3.2點陣圖按鈕
13.4單選框
13.4.1單選框的選擇
13.4.2單選框的分組
13.5多選框
13.5.1多選框
13.5.2多選框事件
13.6列表控制項
13.6.1列表框
13.6.2下拉列表
13.6.3可編輯的下拉列表
13.7使用sizers布局組件
13.7.1sizers布局管理器
13.7.2grid sizer布局
13.7.3flex grid sizer布局
13.7.4grid bag sizer布局
13.7.5box sizer布局
13.8小結
第14章wxpython庫中的選單、視窗與對話框控制項
14.1選單
14.1.1創建選單
14.1.2選單的事件
14.1.3多級選單
14.1.4選單的快捷鍵
14.1.5點陣圖選單
14.1.6上下文選單
14.2視窗
14.2.1frame視窗
14.2.2帶工具列和狀態欄的frame視窗
14.2.3mdi視窗
14.2.4miniframe視窗
14.3對話框
14.3.1對話框的創建
14.3.2提示對話框
14.3.3文本輸入對話框
14.3.4特殊對話框
14.3.5視窗與對話框的互動
14.4小結
第15章wxpython庫中的高級控制項
15.1表格控制項
15.1.1表格控制項的創建
15.1.2通過pygridtable創建表格
15.1.3表格控制項的單元格
15.1.4處理單元格的事件
15.2高級列表控制項
15.2.1列表控制項的創建
15.2.2列表控制項的排序
15.2.3帶點陣圖的列表控制項
15.3樹型控制項
15.3.1樹型控制項的創建
15.3.2樹型控制項的事件
15.3.3樹表控制項
15.4定時器控制項
15.5小結
第16章wxpython庫中的高級功能
16.1wxpython下的html顯示
16.1.1html的顯示
16.1.2基於htmlwindow的簡單瀏覽器
16.2wxpython中的xrc
16.2.1使用xrc
16.2.2xrc檔案
16.3剪貼簿的操作
16.3.1wxpython中的剪貼簿對象
16.3.2處理剪貼簿對象
16.3.3剪貼簿操作實例
16.4小結
第三篇python的web開發
第17章python的html套用
17.1html介紹
17.1.1html的歷史
17.1.2sgml、html和xhtml三者的關係
17.1.3html的標籤
17.1.4html的框架組成
17.2url的處理
17.2.1統一資源定位符url
17.2.2url的解析
17.2.3url的拼合
17.2.4url的分解
17.2.5url的編碼與解碼
17.2.6中文的編碼與解碼
17.2.7查詢參數的編碼
17.3cgi的使用
17.3.1cgi介紹
17.3.2獲取cgi環境信息
17.3.3解析用戶的輸入
17.4獲取html資源
17.4.1使用urlopen和urlretrieve獲取http資源
17.4.2分析返回資源的相關信息
17.4.3自定義獲取資源方式
17.4.4使用urllib2模組獲取資源
17.4.5使用httplib模組獲取資源
17.5html文檔的解析
17.5.1使用htmlparser模組
17.5.2sgmllib的html文檔處理
17.5.3html文檔元素的處理
17.5.4使用htmllib處理html文檔
17.6小結
第18章python和xml
18.1xml介紹
18.1.1xml的演進歷史
18.1.2xml的優點和限制
18.1.3xml技術的python支持
18.2xml文檔概覽和驗證
18.2.1xml文檔的基本概念
18.2.2xml文檔的結構良好性驗證..
18.2.3xml文檔的有效性驗證
18.3xml文檔的結構
18.3.1xml的元素和標籤
18.3.2元素的屬性
18.3.3xml的文字
18.3.4字元實體
18.3.5cdata段
18.3.6注釋
18.3.7處理指令
18.3.8xml定義
18.4使用sax處理xml文檔
18.4.1sax介紹
18.4.2sax處理的組成部分
18.5使用dom處理xml文檔
18.5.1dom介紹
18.5.2xml.dom模組中的接口操作
18.5.3對xml文檔的操作
18.6小結
第19章python的web開發——django框架的套用
19.1常見的web開發框架
19.1.1zope
19.1.2turbogears
19.1.3django
19.1.4其他的web開發框架
19.1.5各種開發框架的選擇
19.2mvc模式
19.2.1mvc模式介紹
19.2.2mvc模式的優點和缺點
19.2.3django框架中的mvc
19.3django開發環境的搭建
19.3.1django框架的安裝
19.3.2資料庫的配置
19.4django框架的套用
19.4.1web套用的創建
19.4.2django中的開發伺服器
19.4.3創建資料庫
19.4.4生成django套用
19.4.5創建數據模型
19.4.6url設計
19.4.7創建視圖
19.4.8模板系統
19.4.9發布django項目
19.5django框架的高級套用
19.5.1管理界面
19.5.2生成資料庫數據
19.5.3session功能
19.5.4國際化
19.6小結
第20章敏捷方法學在python中的套用——測試驅動開發
20.1測試驅動開發
20.1.1測試驅動開發模式(tdd)
20.1.2tdd的優勢
20.1.3tdd的使用步驟
20.2unittest測試框架
20.2.1unittest模組介紹
20.2.2構建測試用例
20.2.3構建測試固件
20.2.4組織多個測試用例
20.2.5構建測試套件
20.2.6重構代碼
20.2.7執行測試
20.3使用doctest模組進行測試
20.3.1doctest模組介紹
20.3.2構建可執行文檔
20.3.3執行doctest測試
20.4小結
第四篇python的其他套用
第21章python中的進程和執行緒
21.1進程和執行緒
21.1.1進程和執行緒的概念
21.1.2python中對於進程和執行緒處理的支持
21.2python下的進程編程
21.2.1進程的運行環境
21.2.2創建進程
21.2.3終止進程
21.3使用subprocess模組管理進程
21.3.1使用popen類管理進程
21.3.2調用外部系統命令
21.3.3替代其他進程創建函式
21.4進程間的信號機制
21.4.1信號的處理
21.4.2信號的使用規則
21.5多執行緒概述
21.5.1什麼是多執行緒
21.5.2執行緒的狀態
21.5.3python中的執行緒支持
21.6生成和終止執行緒
21.6.1使用thread模組
21.6.2使用threading.thread類
21.7管理執行緒
21.7.1執行緒狀態轉移
21.7.2主執行緒對子執行緒的控制
21.7.3執行緒中的局部變數
1.8執行緒之間的同步
21.8.1臨界資源和臨界區
21.8.2鎖機制
21.8.3條件變數
21.8.4信號量
21.8.5同步佇列
21.8.6執行緒同步小結
21.9小結
第22章基於python的系統管理
22.1增強的互動式環境ipython
22.1.1ipython介紹
22.1.2ipython的安裝
22.1.3ipython的啟動
22.1.4ipython的環境配置
22.1.5ipython的退出
22.2和ipython的簡單互動
22.2.1ipython中的輸入與輸出
22.2.2輸出提示符的區別
22.2.3輸出提示符不同的原因
22.2.4ipython中的in和out
22.3ipython中的magic函式
22.3.1magic函式的使用和構造
22.3.2目錄管理
22.3.3對象信息的收集
22.4ipython適合於系統管理的特點
22.4.1tab補全
22.4.2歷史記錄功能
22.4.3執行外部的系統命令和運行腳本檔案
22.4.4對象的查看和自省
22.4.5直接編輯代碼
22.4.6設定別名和宏
22.5使用python進行檔案管理
22.5.1檔案的比較
22.5.2檔案的歸檔
22.5.3檔案的壓縮
22.6使用python定時執行任務
22.6.1使用休眠功能
22.6.2使用sched來定時執行任務
22.7小結
23章python和網路編程
23.1網路模型介紹
23.1.1osi簡介
23.1.2tcp/ip簡介
23.2socket套用
23.2.1socket基礎知識
23.2.2socket的工作方式
23.3伺服器端和客戶端通信
23.3.1伺服器端的構建
23.3.2客戶端的構建
23.4異步通信方式
23.4.1使用fork方式
23.4.2使用執行緒方式
23.4.3異步io方式
23.4.4使用asyncore模組
23.5twisted網路框架
23.5.1認識twisted框架
23.5.2twisted框架下伺服器端的實現
23.5.3twisted框架下伺服器端的其他處理
23.6小結
24章常見的python網路套用
24.1使用ftp傳輸檔案
24.1.1ftp的工作原理和python庫的支持
24.1.2ftp的登錄和退出
24.1.3ftp的數據傳輸
24.2使用pop3獲取郵件
24.2.1pop3協定介紹
24.2.2poplib模組的使用方法
24.3使用smtp傳送郵件
24.3.1smtp協定介紹
24.3.2smtplib模組的使用
24.4使用telnet協定遠程登錄
24.4.1telnet協定介紹和python庫的支持
24.4.2telnetlib模組的使用方法
24.5使用snmp管理網路
24.5.1snmp協定的組成
24.5.2pysnmp框架介紹及其使用方法
24.6網路分析
24.6.1網路分析概述
24.6.2使用scapy在網路中抓包分析
24.7小結
第25章圖像處理和遊戲開發
25.1圖像處理的基本概念
25.1.1python下的圖像處理包
25.1.2pil支持的圖像檔案格式
25.1.3圖像處理中的其他概念
25.2圖像的基本處理
25.2.1圖像的讀寫操作
25.2.2獲取圖像信息
25.2.3圖像檔案格式的轉換
25.2.4圖像的裁剪和合成
25.2.5圖像的變換
25.3圖像處理的高級套用
25.3.1圖像的通道操作
25.3.2圖像的增強處理
25.3.3pil中的內置濾鏡
25.4使用pygame進行遊戲開發
25.4.1python遊戲開發包:pygame
25.4.2創建基本的pygame視窗
25.4.3事件系統
25.5小結
26章python語言的擴展與嵌入
26.1python語言的擴展
26.1.1python擴展簡介
26.1.2一個c擴展的例子
26.1.3模組方法表和初始化函式
26.1.4編譯和測試
26.2python語言的嵌入
26.2.1python嵌入簡介
26.2.2一個python嵌入的例子
26.2.3更好的嵌入
26.3小結
第27章windows下的python
27.1組件對象模型
27.1.1組件對象模型介紹
27.1.2com結構
27.1.3com對象的互動
27.2python對com技術的支持
27.2.1python中的windows擴展:pywin32
27.2.2客戶端com組件
27.2.3實現com組件
27.3windows下的常見python套用
27.3.1對word的自動訪問
27.3.2對excel的自動訪問
27.3.3對powerpoint的自動訪問
27.3.4對outlook的自動訪問
27.4小結...