Python是目前最流行的動(dòng)態(tài)腳本語言之一。《零基礎(chǔ)學(xué)Python》由淺入深,全面、系統(tǒng)地介紹了使用Python進(jìn)行開發(fā)的各種知識(shí)和技巧!读慊A(chǔ)學(xué)Python》內(nèi)容包括Python環(huán)境的安裝和配置、Python的基本語法、模塊和函數(shù)、內(nèi)置數(shù)據(jù)結(jié)構(gòu)、字符串和文件的處理、正則表達(dá)式的使用、異常的捕獲和處理、面向?qū)ο蟮恼Z言特性和設(shè)計(jì)、Python的數(shù)據(jù)庫編程、TkinterGUI庫的使用、HTML應(yīng)用、XML應(yīng)用、Django網(wǎng)頁開發(fā)框架的使用、測試驅(qū)動(dòng)開發(fā)模式應(yīng)用、Python中的進(jìn)程和線程、Python系統(tǒng)管理、網(wǎng)絡(luò)編程、Python圖像處理、Python語言的擴(kuò)展和嵌入以及Windows下Python開發(fā)等。為了便于讀者學(xué)習(xí),《零基礎(chǔ)學(xué)Python》每個(gè)章節(jié)中都提供了詳盡的例子,結(jié)合實(shí)例講解各個(gè)知識(shí)點(diǎn)!读慊A(chǔ)學(xué)Python》適合Python愛好者、大中專院校的學(xué)生、社會(huì)培訓(xùn)班學(xué)生,以及系統(tǒng)管理員、界面開發(fā)人員、Web開發(fā)人員、網(wǎng)絡(luò)編程人員等有關(guān)人員學(xué)習(xí)、使用。
前言
第一篇 Python語言基礎(chǔ)
第1章 進(jìn)入Python的世界
1.1 Python的由來
1.2 Python的特色
1.3 第一個(gè)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 不同平臺(tái)下的Python
1.7 小結(jié)
1.8 習(xí)題
第2章 Python必須知道的基礎(chǔ)語法
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 代碼縮進(jìn)與冒號(hào)
2.2.3 模塊導(dǎo)入的規(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 運(yùn)算符與表達(dá)式
2.5.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式
2.5.2 關(guān)系運(yùn)算符和關(guān)系表達(dá)式
2.5.3 邏輯運(yùn)算符和邏輯表達(dá)式
2.6 小結(jié)
2.7 習(xí)題
第3章 Python的控制語句
3.1 結(jié)構(gòu)化程序設(shè)計(jì)
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 結(jié)構(gòu)化程序示例
3.5 小結(jié)
3.6 習(xí)題
第4章 Python數(shù)據(jù)結(jié)構(gòu)
4.1 元組結(jié)構(gòu)
4.1.1 元組的創(chuàng)建
4.1.2 元組的訪問
4.1.3 元組的遍歷
4.2 列表結(jié)構(gòu)
4.2.1 列表的創(chuàng)建
4.2.2 列表的使用
4.2.3 列表的查找、排序、反轉(zhuǎn)
4.2.4 列表實(shí)現(xiàn)堆棧和隊(duì)列
4.3 字典結(jié)構(gòu)
4.3.1 字典的創(chuàng)建
4.3.2 字典的訪問
4.3.3 字典的方法
4.3.4 字典的排序、復(fù)制
4.3.5 全局字典——sys.modules模塊
4.4 序列
4.5 小結(jié)
4.6 習(xí)題
第5章 模塊與函數(shù)
5.1 Python程序的結(jié)構(gòu)
5.2 模塊
5.2.1 模塊的創(chuàng)建
5.2.2 模塊的導(dǎo)入
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 小結(jié)
5.5 習(xí)題
第6章 字符串與正則表達(dá)式
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 正則表達(dá)式應(yīng)用
6.2.1 正則表達(dá)式簡介
6.2.2 使用re模塊處理正則表達(dá)式
6.3 小結(jié)
6.4 習(xí)題
第7章 使用Python處理文件
7.1 文件的常見操作
7.1.1 文件的創(chuàng)建
7.1.2 文件的讀取
7.1.3 文件的寫入
7.1.4 文件的刪除
7.1.5 文件的復(fù)制
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的流對(duì)象
7.3.2 模擬Java的輸入、輸出流
7.4 文件處理示例——文件屬性瀏覽程序
7.5 小結(jié)
7.6 習(xí)題
第8章 面向?qū)ο缶幊?br />
8.1 面向?qū)ο蟮母攀?br />
8.2 類和對(duì)象
8.2.1 類和對(duì)象的區(qū)別
8.2.2 類的定義
8.2.3 對(duì)象的創(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 垃圾回收機(jī)制
8.3.7 類的內(nèi)置方法
8.3.8 方法的動(dòng)態(tài)特性
8.4 繼承
8.4.1 使用繼承
8.4.2 抽象基類
8.4.3 多態(tài)性
8.4.4 多重繼承
8.4.5 Mixin機(jī)制
8.5 運(yùn)算符的重載
8.6 Python與設(shè)計(jì)模式
8.6.1 設(shè)計(jì)模式簡介
8.6.2 設(shè)計(jì)模式示例——Python實(shí)現(xiàn)工廠方法
8.7 小結(jié)
8.8 習(xí)題
第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 設(shè)置斷點(diǎn)
9.4 小結(jié)
9.5 習(xí)題
第10章 Python 數(shù)據(jù)庫編程
10.1 Python環(huán)境下的數(shù)據(jù)庫編程
10.1.1 通過ODBC訪問數(shù)據(jù)庫
10.1.2 使用DAO對(duì)象訪問數(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 小結(jié)
10.5 習(xí)題
第二篇 Python的GUI程序設(shè)計(jì)
第11章 Python的GUI開發(fā)
11.1 Python的GUI開發(fā)選擇
11.1.1 認(rèn)識(shí)Python內(nèi)置的GUI庫Tkinter
11.1.2 使用Tkinter進(jìn)行開發(fā)
11.1.3 認(rèn)識(shí)PyQT GUI庫
11.1.4 使用PyQT GUI庫進(jìn)行開發(fā)
11.2 小結(jié)
11.3 習(xí)題
第12章 GUI編程與Tkinter相關(guān)組件介紹
12.1 GUI程序開發(fā)簡介
12.2 Tkinter與主要組件
12.2.1 在程序中使用Tkinter
12.2.2 頂層窗口
12.2.3 標(biāo)簽
12.2.4 框架
12.2.5 按鈕
12.2.6 輸入框
12.2.7 單選按鈕
12.2.8 復(fù)選按鈕
12.2.9 消息
12.2.10 滾動(dòng)條
12.2.11 列表框
12.3 Tkinter所有組件簡介
12.4 小結(jié)
12.5 習(xí)題
第三篇 Python的Web開發(fā)
第13章 Python的HTML應(yīng)用
13.1 HTML介紹
13.1.1 HTML的歷史
13.1.2 SGML、HTML、XHTML、HTML5的關(guān)系
13.1.3 HTML的標(biāo)簽
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 分析返回資源的相關(guān)信息
13.4.3 自定義獲取資源方式
13.4.4 使用http.client模塊獲取資源
13.5 HTML文檔的解析
13.6 小結(jié)
13.7 習(xí)題
第14章 Python和XML
14.1 XML介紹
14.1.1 XML的演進(jìn)歷史
14.1.2 XML的優(yōu)點(diǎn)和限制
14.1.3 XML技術(shù)的Python支持
14.2 XML文檔概覽和驗(yàn)證
14.2.1 XML文檔的基礎(chǔ)概念
14.2.2 XML文檔的結(jié)構(gòu)良好性驗(yàn)證
14.2.3 XML文檔的有效性驗(yàn)證
14.3 分析XML文檔結(jié)構(gòu)
14.3.1 XML的元素和標(biāo)簽
14.3.2 元素的屬性
14.3.3 XML的名字
14.3.4 字符實(shí)體
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 對(duì)XML文檔的操作
14.6 小結(jié)
14.7 習(xí)題
第15章 Python的Web開發(fā)——Django框架的應(yīng)用
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)缺點(diǎn)
15.2.3 Django框架中的MVC
15.3 Django開發(fā)環(huán)境的搭建
15.3.1 Django框架的安裝
15.3.2 數(shù)據(jù)庫的配置
15.4 Django框架的應(yīng)用
15.4.1 Web應(yīng)用的創(chuàng)建
15.4.2 Django中的開發(fā)服務(wù)器
15.4.3 創(chuàng)建數(shù)據(jù)庫
15.4.4 生成Django應(yīng)用
15.4.5 創(chuàng)建數(shù)據(jù)模型
15.4.6 URL設(shè)計(jì)
15.4.7 創(chuàng)建視圖
15.4.8 模板系統(tǒng)
15.4.9 發(fā)布Django項(xiàng)目
15.5 Django框架的高級(jí)應(yīng)用
15.5.1 管理界面
15.5.2 生成數(shù)據(jù)庫數(shù)據(jù)
15.5.3 Session功能
15.5.4 國際化
15.6 小結(jié)
15.7 習(xí)題
第四篇 Python其他應(yīng)用
第16章 敏捷方法學(xué)在Python中的應(yīng)用——測試驅(qū)動(dòng)開發(fā)
16.1 測試驅(qū)動(dòng)開發(fā)
16.1.1 測試驅(qū)動(dòng)開發(fā)模式
16.1.2 TDD的優(yōu)勢
16.1.3 TDD的使用步驟
16.2 unittest測試框架
16.2.1 unittest模塊介紹
16.2.2 構(gòu)建測試用例
16.2.3 構(gòu)建測試固件
16.2.4 組織多個(gè)測試用例
16.2.5 構(gòu)建測試套件
16.2.6 重構(gòu)代碼
16.2.7 執(zhí)行測試
16.3 使用doctest進(jìn)行測試
16.3.1 doctest模塊介紹
16.3.2 構(gòu)建可執(zhí)行文檔
16.3.3 執(zhí)行doctest測試
16.4 小結(jié)
16.5 習(xí)題
第17章 Python中的進(jìn)程和線程
17.1 進(jìn)程和線程
17.1.1 進(jìn)程和線程的概念
17.1.2 Python中對(duì)于進(jìn)程和線程處理的支持
17.2 Python下的進(jìn)程編程
17.2.1 進(jìn)程運(yùn)行環(huán)境
17.2.2 創(chuàng)建進(jìn)程
17.2.3 終止進(jìn)程
17.3 使用subprocess模塊管理進(jìn)程
17.3.1 使用Popen類管理進(jìn)程
17.3.2 調(diào)用外部系統(tǒng)命令
17.3.3 替代其他進(jìn)程創(chuàng)建函數(shù)
17.4 進(jìn)程間的信號(hào)機(jī)制
17.4.1 信號(hào)的處理
17.4.2 信號(hào)使用的規(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 主線程對(duì)子線程的控制
17.7.3 線程中的局部變量
17.8 線程之間的同步
17.8.1 臨界資源和臨界區(qū)
17.8.2 鎖機(jī)制
17.8.3 條件變量
17.8.4 信號(hào)量
17.8.5 同步隊(duì)列
17.8.6 線程同步小結(jié)
17.9 小結(jié)
17.10 習(xí)題
第18章 基于Python的系統(tǒng)管理
18.1 增強(qiáng)的交互式環(huán)境IPython
18.1.1 IPython介紹
18.1.2 IPython的安裝
18.1.3 IPython的啟動(dòng)
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ù)的使用和構(gòu)造
18.3.2 目錄管理
18.3.3 對(duì)象信息的收集
18.3.4 magic函數(shù)小結(jié)
18.4 IPython適合于系統(tǒng)管理的特點(diǎn)
18.4.1 Tab補(bǔ)全
18.4.2 歷史記錄功能
18.4.3 執(zhí)行外部系統(tǒng)命令和運(yùn)行文件
18.4.4 對(duì)象查看和自省
18.4.5 直接編輯代碼
18.4.6 設(shè)置別名和宏
18.5 使用Python進(jìn)行文件管理
18.5.1 文件的比較
18.5.2 文件的歸檔
18.5.3 文件的壓縮
18.6 使用Python定時(shí)執(zhí)行任務(wù)
18.6.1 使用休眠功能
18.6.2 使用sched模塊來定時(shí)執(zhí)行任務(wù)
18.7 小結(jié)
18.8 習(xí)題
第19章 Python和網(wǎng)絡(luò)編程
19.1 網(wǎng)絡(luò)模型介紹
19.1.1 OSI簡介
19.1.2 TCP/IP簡介
19.2 Socket應(yīng)用
19.2.1 Socket基礎(chǔ)
19.2.2 Socket的工作方式
19.3 服務(wù)器端和客戶端通信
19.3.1 服務(wù)器端的構(gòu)建
19.3.2 客戶端的構(gòu)建
19.4 異步通信方式
19.4.1 使用Fork方式
19.4.2 使用線程方式
19.4.3 使用異步IO方式
19.4.4 使用asyncore模塊
19.5 Twisted網(wǎng)絡(luò)框架
19.5.1 Twisted框架介紹
19.5.2 Twisted框架下服務(wù)器端的實(shí)現(xiàn)
19.5.3 Twisted框架下服務(wù)器端的其他處理
19.6 小結(jié)
19.7 習(xí)題
第20章 常見的Python網(wǎng)絡(luò)應(yī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遠(yuǎn)程登錄
20.4.1 Telnet協(xié)議介紹和Python庫支持
20.4.2 telnetlib模塊的使用
20.5 使用SNMP管理網(wǎng)絡(luò)
20.5.1 SNMP協(xié)議組成
20.5.2 PySNMP框架介紹及使用
20.6 網(wǎng)絡(luò)分析
20.6.1 網(wǎng)絡(luò)分析概述
20.6.2 使用Scapy在網(wǎng)絡(luò)中抓包分析
20.7 小結(jié)
20.8 習(xí)題
第21章 圖像處理
21.1 圖像處理相關(guān)概念
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 圖像處理的高級(jí)應(yīng)用
21.3.1 圖像的通道操作
21.3.2 對(duì)圖像的增強(qiáng)
21.3.3 Pillow中的內(nèi)置濾鏡
21.4 小結(jié)
21.5 習(xí)題
第22章 Python語言的擴(kuò)展與嵌入
22.1 Python語言的擴(kuò)展
22.1.1 Python擴(kuò)展簡介
22.1.2 一個(gè)C擴(kuò)展的例子
22.1.3 模塊方法表和初始化函數(shù)
22.1.4 編譯和測試
22.2 Python語言的嵌入
22.2.1 Python嵌入簡介
22.2.2 一個(gè)Python嵌入的例子
22.2.3 更好的嵌入
22.3 小結(jié)
22.4 習(xí)題
第23章 Windows下的Python開發(fā)
23.1 組件對(duì)象模型
23.1.1 組件對(duì)象模型介紹
23.1.2 COM結(jié)構(gòu)
23.1.3 COM對(duì)象的交互
23.2 Python對(duì)COM技術(shù)的支持
23.2.1 Python中的Windows擴(kuò)展:PyWin32
23.2.2 客戶端COM組件
23.2.3 實(shí)現(xiàn)COM組件
23.3 Windows下的常見Python應(yīng)用
23.3.1 對(duì)Word的自動(dòng)訪問
23.3.2 對(duì)Excel的自動(dòng)訪問
23.3.3 對(duì)PowerPoint的自動(dòng)訪問
23.3.4 對(duì)Outlook的自動(dòng)訪問
23.4 小結(jié)
23.5 習(xí)題