Python是目前最流行的動態(tài)腳本語言之一!读慊A學Python》由淺入深,全面、系統(tǒng)地介紹了使用Python進行開發(fā)的各種知識和技巧!读慊A學Python》內(nèi)容包括Python環(huán)境的安裝和配置、Python的基本語法、模塊和函數(shù)、內(nèi)置數(shù)據(jù)結構、字符串和文件的處理、正則表達式的使用、異常的捕獲和處理、面向?qū)ο蟮恼Z言特性和設計、Python的數(shù)據(jù)庫編程、TkinterGUI庫的使用、HTML應用、XML應用、Django網(wǎng)頁開發(fā)框架的使用、測試驅(qū)動開發(fā)模式應用、Python中的進程和線程、Python系統(tǒng)管理、網(wǎng)絡編程、Python圖像處理、Python語言的擴展和嵌入以及Windows下Python開發(fā)等。為了便于讀者學習,《零基礎學Python》每個章節(jié)中都提供了詳盡的例子,結合實例講解各個知識點!读慊A學Python》適合Python愛好者、大中專院校的學生、社會培訓班學生,以及系統(tǒng)管理員、界面開發(fā)人員、Web開發(fā)人員、網(wǎng)絡編程人員等有關人員學習、使用。
前言
第一篇 Python語言基礎
第1章 進入Python的世界
1.1 Python的由來
1.2 Python的特色
1.3 第一個Python程序
1.4 搭建開發(fā)環(huán)境
1.4.1 Python的下載和安裝
1.4.2 交互式命令行的使用
1.5 Python的開發(fā)工具
1.5.1 PyCharm的使用
1.5.2 Eclipse IDE的介紹
1.5.3 EditPlus編輯器環(huán)境的配置
1.6 不同平臺下的Python
1.7 小結
1.8 習題
第2章 Python必須知道的基礎語法
2.1 Python的文件類型
2.1.1 源代碼
2.1.2 字節(jié)代碼
2.1.3 優(yōu)化代碼
2.2 Python的編碼規(guī)范
2.2.1 命名規(guī)則
2.2.2 代碼縮進與冒號
2.2.3 模塊導入的規(guī)范
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 數(shù)據(jù)類型
2.4.1 數(shù)字
2.4.2 字符串
2.5 運算符與表達式
2.5.1 算術運算符和算術表達式
2.5.2 關系運算符和關系表達式
2.5.3 邏輯運算符和邏輯表達式
2.6 小結
2.7 習題
第3章 Python的控制語句
3.1 結構化程序設計
3.2 條件判斷語句
3.2.1 if條件語句
3.2.2 if…elif…else判斷語句
3.2.3 if語句也可以嵌套
3.2.4 switch語句的替代方案
3.3 循環(huán)語句
3.3.1 while循環(huán)
3.3.2 for循環(huán)
3.3.3 break和continue語句
3.4 結構化程序示例
3.5 小結
3.6 習題
第4章 Python數(shù)據(jù)結構
4.1 元組結構
4.1.1 元組的創(chuàng)建
4.1.2 元組的訪問
4.1.3 元組的遍歷
4.2 列表結構
4.2.1 列表的創(chuàng)建
4.2.2 列表的使用
4.2.3 列表的查找、排序、反轉(zhuǎn)
4.2.4 列表實現(xiàn)堆棧和隊列
4.3 字典結構
4.3.1 字典的創(chuàng)建
4.3.2 字典的訪問
4.3.3 字典的方法
4.3.4 字典的排序、復制
4.3.5 全局字典——sys.modules模塊
4.4 序列
4.5 小結
4.6 習題
第5章 模塊與函數(shù)
5.1 Python程序的結構
5.2 模塊
5.2.1 模塊的創(chuàng)建
5.2.2 模塊的導入
5.2.3 模塊的屬性
5.2.4 模塊的內(nèi)置函數(shù)
5.2.5 自定義包
5.3 函數(shù)
5.3.1 函數(shù)的定義
5.3.2 函數(shù)的參數(shù)
5.3.3 函數(shù)的返回值
5.3.4 函數(shù)的嵌套
5.3.5 遞歸函數(shù)
5.3.6 lambda函數(shù)
5.3.7 Generator函數(shù)
5.4 小結
5.5 習題
第6章 字符串與正則表達式
6.1 常見的字符串操作
6.1.1 字符串的格式化
6.1.2 字符串的轉(zhuǎn)義符
6.1.3 字符串的合并
6.1.4 字符串的截取
6.1.5 字符串的比較
6.1.6 字符串的反轉(zhuǎn)
6.1.7 字符串的查找和替換
6.1.8 字符串與日期的轉(zhuǎn)換
6.2 正則表達式應用
6.2.1 正則表達式簡介
6.2.2 使用re模塊處理正則表達式
6.3 小結
6.4 習題
第7章 使用Python處理文件
7.1 文件的常見操作
7.1.1 文件的創(chuàng)建
7.1.2 文件的讀取
7.1.3 文件的寫入
7.1.4 文件的刪除
7.1.5 文件的復制
7.1.6 文件的重命名
7.1.7 文件內(nèi)容的搜索和替換
7.1.8 文件的比較
7.1.9 配置文件的訪問
7.2 目錄的常見操作
7.2.1 創(chuàng)建和刪除目錄
7.2.2 目錄的遍歷
7.3 文件和流
7.3.1 Python的流對象
7.3.2 模擬Java的輸入、輸出流
7.4 文件處理示例——文件屬性瀏覽程序
7.5 小結
7.6 習題
第8章 面向?qū)ο缶幊?br />
8.1 面向?qū)ο蟮母攀?br />
8.2 類和對象
8.2.1 類和對象的區(qū)別
8.2.2 類的定義
8.2.3 對象的創(chuàng)建
8.3 屬性和方法
8.3.1 類的屬性
8.3.2 類的方法
8.3.3 內(nèi)部類的使用
8.3.4 __init__方法
8.3.5 __del__方法
8.3.6 垃圾回收機制
8.3.7 類的內(nèi)置方法
8.3.8 方法的動態(tài)特性
8.4 繼承
8.4.1 使用繼承
8.4.2 抽象基類
8.4.3 多態(tài)性
8.4.4 多重繼承
8.4.5 Mixin機制
8.5 運算符的重載
8.6 Python與設計模式
8.6.1 設計模式簡介
8.6.2 設計模式示例——Python實現(xiàn)工廠方法
8.7 小結
8.8 習題
第9章 異常處理與程序調(diào)試
9.1 異常的處理
9.1.1 Python中的異常
9.1.2 try…except的使用
9.1.3 try…finally的使用
9.1.4 使用raise拋出異常
9.1.5 自定義異常
9.1.6 assert語句的使用
9.1.7 異常信息
9.2 使用自帶IDLE調(diào)試程序
9.3 使用Easy Eclipse for Python調(diào)試程序
9.3.1 新建工程
9.3.2 配置調(diào)試
9.3.3 設置斷點
9.4 小結
9.5 習題
第10章 Python 數(shù)據(jù)庫編程
10.1 Python環(huán)境下的數(shù)據(jù)庫編程
10.1.1 通過ODBC訪問數(shù)據(jù)庫
10.1.2 使用DAO對象訪問數(shù)據(jù)庫
10.1.3 使用ActiveX Data Object訪問數(shù)據(jù)庫
10.1.4 Python連接數(shù)據(jù)庫的專用模塊
10.2 使用Python的持久化模塊讀寫數(shù)據(jù)
10.3 嵌入式數(shù)據(jù)庫SQLite
10.3.1 SQLite的命令行工具
10.3.2 使用sqlite3模塊訪問SQLite數(shù)據(jù)庫
10.4 小結
10.5 習題
第二篇 Python的GUI程序設計
第11章 Python的GUI開發(fā)
11.1 Python的GUI開發(fā)選擇
11.1.1 認識Python內(nèi)置的GUI庫Tkinter
11.1.2 使用Tkinter進行開發(fā)
11.1.3 認識PyQT GUI庫
11.1.4 使用PyQT GUI庫進行開發(fā)
11.2 小結
11.3 習題
第12章 GUI編程與Tkinter相關組件介紹
12.1 GUI程序開發(fā)簡介
12.2 Tkinter與主要組件
12.2.1 在程序中使用Tkinter
12.2.2 頂層窗口
12.2.3 標簽
12.2.4 框架
12.2.5 按鈕
12.2.6 輸入框
12.2.7 單選按鈕
12.2.8 復選按鈕
12.2.9 消息
12.2.10 滾動條
12.2.11 列表框
12.3 Tkinter所有組件簡介
12.4 小結
12.5 習題
第三篇 Python的Web開發(fā)
第13章 Python的HTML應用
13.1 HTML介紹
13.1.1 HTML的歷史
13.1.2 SGML、HTML、XHTML、HTML5的關系
13.1.3 HTML的標簽
13.1.4 HTML的框架組成
13.2 URL的處理
13.2.1 統(tǒng)一資源定位符URL
13.2.2 URL的解析
13.2.3 URL的拼合
13.2.4 URL的分解
13.2.5 URL的編解碼
13.2.6 中文的編解碼
13.2.7 查詢參數(shù)的編碼
13.3 CGI的使用
13.3.1 CGI介紹
13.3.2 獲取CGI環(huán)境信息
13.3.3 解析用戶的輸入
13.4 獲取HTML資源
13.4.1 使用urlopen和urlretrieve獲取HTTP資源
13.4.2 分析返回資源的相關信息
13.4.3 自定義獲取資源方式
13.4.4 使用http.client模塊獲取資源
13.5 HTML文檔的解析
13.6 小結
13.7 習題
第14章 Python和XML
14.1 XML介紹
14.1.1 XML的演進歷史
14.1.2 XML的優(yōu)點和限制
14.1.3 XML技術的Python支持
14.2 XML文檔概覽和驗證
14.2.1 XML文檔的基礎概念
14.2.2 XML文檔的結構良好性驗證
14.2.3 XML文檔的有效性驗證
14.3 分析XML文檔結構
14.3.1 XML的元素和標簽
14.3.2 元素的屬性
14.3.3 XML的名字
14.3.4 字符實體
14.3.5 CDATA段
14.3.6 注釋
14.3.7 處理指令
14.3.8 XML定義
14.4 使用SAX處理XML文檔
14.4.1 SAX介紹
14.4.2 SAX處理的組成部分
14.5 使用DOM處理XML文檔
14.5.1 DOM介紹
14.5.2 xml.dom模塊中的接口操作
14.5.3 對XML文檔的操作
14.6 小結
14.7 習題
第15章 Python的Web開發(fā)——Django框架的應用
15.1 常見的Web開發(fā)框架
15.1.1 Zope
15.1.2 TurboGears
15.1.3 Django
15.1.4 其他Web開發(fā)框架
15.1.5 根據(jù)自身所需選擇合適的開發(fā)框架
15.2 MVC模式
15.2.1 MVC模式介紹
15.2.2 MVC模式的優(yōu)缺點
15.2.3 Django框架中的MVC
15.3 Django開發(fā)環(huán)境的搭建
15.3.1 Django框架的安裝
15.3.2 數(shù)據(jù)庫的配置
15.4 Django框架的應用
15.4.1 Web應用的創(chuàng)建
15.4.2 Django中的開發(fā)服務器
15.4.3 創(chuàng)建數(shù)據(jù)庫
15.4.4 生成Django應用
15.4.5 創(chuàng)建數(shù)據(jù)模型
15.4.6 URL設計
15.4.7 創(chuàng)建視圖
15.4.8 模板系統(tǒng)
15.4.9 發(fā)布Django項目
15.5 Django框架的高級應用
15.5.1 管理界面
15.5.2 生成數(shù)據(jù)庫數(shù)據(jù)
15.5.3 Session功能
15.5.4 國際化
15.6 小結
15.7 習題
第四篇 Python其他應用
第16章 敏捷方法學在Python中的應用——測試驅(qū)動開發(fā)
16.1 測試驅(qū)動開發(fā)
16.1.1 測試驅(qū)動開發(fā)模式
16.1.2 TDD的優(yōu)勢
16.1.3 TDD的使用步驟
16.2 unittest測試框架
16.2.1 unittest模塊介紹
16.2.2 構建測試用例
16.2.3 構建測試固件
16.2.4 組織多個測試用例
16.2.5 構建測試套件
16.2.6 重構代碼
16.2.7 執(zhí)行測試
16.3 使用doctest進行測試
16.3.1 doctest模塊介紹
16.3.2 構建可執(zhí)行文檔
16.3.3 執(zhí)行doctest測試
16.4 小結
16.5 習題
第17章 Python中的進程和線程
17.1 進程和線程
17.1.1 進程和線程的概念
17.1.2 Python中對于進程和線程處理的支持
17.2 Python下的進程編程
17.2.1 進程運行環(huán)境
17.2.2 創(chuàng)建進程
17.2.3 終止進程
17.3 使用subprocess模塊管理進程
17.3.1 使用Popen類管理進程
17.3.2 調(diào)用外部系統(tǒng)命令
17.3.3 替代其他進程創(chuàng)建函數(shù)
17.4 進程間的信號機制
17.4.1 信號的處理
17.4.2 信號使用的規(guī)則
17.5 多線程概述
17.5.1 什么是多線程
17.5.2 線程的狀態(tài)
17.5.3 Python中的線程支持
17.6 生成和終止線程
17.6.1 使用_thread模塊
17.6.2 使用threading.Thread類
17.7 管理線程
17.7.1 線程狀態(tài)轉(zhuǎn)移
17.7.2 主線程對子線程的控制
17.7.3 線程中的局部變量
17.8 線程之間的同步
17.8.1 臨界資源和臨界區(qū)
17.8.2 鎖機制
17.8.3 條件變量
17.8.4 信號量
17.8.5 同步隊列
17.8.6 線程同步小結
17.9 小結
17.10 習題
第18章 基于Python的系統(tǒng)管理
18.1 增強的交互式環(huán)境IPython
18.1.1 IPython介紹
18.1.2 IPython的安裝
18.1.3 IPython的啟動
18.1.4 IPython的環(huán)境配置
18.2 和IPython的簡單交互
18.2.1 IPython中的輸入和輸出
18.2.2 輸出提示符的區(qū)別
18.2.3 輸出提示符區(qū)別的原因
18.3 IPython中的magic函數(shù)
18.3.1 magic函數(shù)的使用和構造
18.3.2 目錄管理
18.3.3 對象信息的收集
18.3.4 magic函數(shù)小結
18.4 IPython適合于系統(tǒng)管理的特點
18.4.1 Tab補全
18.4.2 歷史記錄功能
18.4.3 執(zhí)行外部系統(tǒng)命令和運行文件
18.4.4 對象查看和自省
18.4.5 直接編輯代碼
18.4.6 設置別名和宏
18.5 使用Python進行文件管理
18.5.1 文件的比較
18.5.2 文件的歸檔
18.5.3 文件的壓縮
18.6 使用Python定時執(zhí)行任務
18.6.1 使用休眠功能
18.6.2 使用sched模塊來定時執(zhí)行任務
18.7 小結
18.8 習題
第19章 Python和網(wǎng)絡編程
19.1 網(wǎng)絡模型介紹
19.1.1 OSI簡介
19.1.2 TCP/IP簡介
19.2 Socket應用
19.2.1 Socket基礎
19.2.2 Socket的工作方式
19.3 服務器端和客戶端通信
19.3.1 服務器端的構建
19.3.2 客戶端的構建
19.4 異步通信方式
19.4.1 使用Fork方式
19.4.2 使用線程方式
19.4.3 使用異步IO方式
19.4.4 使用asyncore模塊
19.5 Twisted網(wǎng)絡框架
19.5.1 Twisted框架介紹
19.5.2 Twisted框架下服務器端的實現(xiàn)
19.5.3 Twisted框架下服務器端的其他處理
19.6 小結
19.7 習題
第20章 常見的Python網(wǎng)絡應用
20.1 使用FTP傳輸文件
20.1.1 FTP的工作原理和Python庫支持
20.1.2 FTP的登錄和退出
20.1.3 FTP的數(shù)據(jù)傳輸
20.2 使用POP3獲取郵件
20.2.1 POP3協(xié)議介紹
20.2.2 poplib模塊的使用
20.3 使用SMTP發(fā)送郵件
20.3.1 SMTP協(xié)議介紹
20.3.2 smtplib模塊的使用
20.4 使用Telnet遠程登錄
20.4.1 Telnet協(xié)議介紹和Python庫支持
20.4.2 telnetlib模塊的使用
20.5 使用SNMP管理網(wǎng)絡
20.5.1 SNMP協(xié)議組成
20.5.2 PySNMP框架介紹及使用
20.6 網(wǎng)絡分析
20.6.1 網(wǎng)絡分析概述
20.6.2 使用Scapy在網(wǎng)絡中抓包分析
20.7 小結
20.8 習題
第21章 圖像處理
21.1 圖像處理相關概念
21.1.1 Python下的圖像處理包
21.1.2 Pillow支持的圖像文件格式
21.1.3 圖像處理中的其他概念
21.2 基本的圖像處理
21.2.1 圖像的讀寫操作
21.2.2 獲取圖像信息
21.2.3 圖像文件格式的轉(zhuǎn)換
21.2.4 圖像的裁剪和合成
21.2.5 圖像的變換
21.3 圖像處理的高級應用
21.3.1 圖像的通道操作
21.3.2 對圖像的增強
21.3.3 Pillow中的內(nèi)置濾鏡
21.4 小結
21.5 習題
第22章 Python語言的擴展與嵌入
22.1 Python語言的擴展
22.1.1 Python擴展簡介
22.1.2 一個C擴展的例子
22.1.3 模塊方法表和初始化函數(shù)
22.1.4 編譯和測試
22.2 Python語言的嵌入
22.2.1 Python嵌入簡介
22.2.2 一個Python嵌入的例子
22.2.3 更好的嵌入
22.3 小結
22.4 習題
第23章 Windows下的Python開發(fā)
23.1 組件對象模型
23.1.1 組件對象模型介紹
23.1.2 COM結構
23.1.3 COM對象的交互
23.2 Python對COM技術的支持
23.2.1 Python中的Windows擴展:PyWin32
23.2.2 客戶端COM組件
23.2.3 實現(xiàn)COM組件
23.3 Windows下的常見Python應用
23.3.1 對Word的自動訪問
23.3.2 對Excel的自動訪問
23.3.3 對PowerPoint的自動訪問
23.3.4 對Outlook的自動訪問
23.4 小結
23.5 習題