Python 開發實例大全 上捲
張善香 田蘊琦 張曉博
買這商品的人也買了...
-
$374明解 C語言, 3/e (入門篇)
-
$354$336 -
$354$336 -
$714$678 -
$880$695 -
$850$672 -
$458代替 VBA!用 Python 輕松實現 Excel 編程
-
$454人工智能安全基礎
-
$356業務敏捷 打造數智時代的高適應力組織
-
$383ChatGPT : 智能對話開創新時代
-
$680$537 -
$516$490 -
$779$740 -
$594$564 -
$658高級 Python 核心編程開啟精通 Python 編程世界之旅
-
$505python核心編程:從入門到實踐:學與練
-
$659$626 -
$607前端工程化 : 基於 Vue.js 3.0 的設計與實踐
-
$680$476 -
$720$360 -
$720$504 -
$352巧用 ChatGPT 輕鬆學演講
-
$359$341 -
$780$608 -
$419$398
相關主題
商品描述
本書內容齊全,通過實例循序漸進地講解了開發Python應用程序的知識。本書主要內容包括:搭建開發環境、基礎語法、標準庫函數、進程通信和聯網操作、結構化標記處理、數據持久化操作、特殊文本格式處理、圖形化界面開發等知識。
本書既適合零基礎的Python讀者或已經瞭解了Python語言基礎語法的讀者閱讀,也適合希望進一步提高自己Python開發水平的讀者閱讀,還可作為程序員的參考書。
作者簡介
王翠萍 云机器学习小组研发工程师,软件大数据实验室数据挖掘专家。精通C语言、Java、C++、PHP、Python等开发语言,现在负责云计算的研发和架构工作。从2014年起便开始研究机器学习课题,是国内最早从事相关研究的专家之一。
目錄大綱
第 1章 搭建開發環境實戰 1
1.1 安裝Python環境 2
實例01-01:在Windows操作系統中下載並安裝Python 2
實例01-02:在macOS操作系統中下載並安裝Python 3
實例01-03:在Linux操作系統中下載並安裝Python 4
1.2 安裝開發工具 4
實例01-04:使用Python自帶工具IDLE 4
實例01-05:安裝PyCharm 5
實例01-06:安裝Eclipse 8
1.3 編寫並運行Python程序 12
實例01-07:使用IDLE編寫並運行Python程序 12
實例01-08:使用命令行運行Python程序 12
實例01-09:交互式運行Python程序 13
實例01-10:使用PyCharm編寫並運行Python程序 13
實例01-11:使用Eclipse編寫並運行Python程序 16
第 2章 基礎語法實戰 20
2.1 使用列表 21
實例02-01:創建數字列表 21
實例02-02:訪問列表中的值 21
實例02-03:刪除列表中的重復元素並保持順序不變 22
實例02-04:找出列表中出現次數最多的元素 23
實例02-05:對類的實例進行排序 23
實例02-06:使用列表推導式 24
實例02-07:命名切片操作 25
2.2 使用元組 26
實例02-08:創建並訪問元組 26
實例02-09:修改元組的值 26
實例02-10:刪除元組 27
實例02-11:使用內置方法操作元組 27
實例02-12:將序列分解為單獨的變量 28
實例02-13:將序列的最後幾項作為歷史記錄 29
實例02-14:實現優先級隊列 29
2.3 使用字典 31
實例02-15:創建並訪問字典 31
實例02-16:向字典中添加數據 32
實例02-17:修改字典中的數據 32
實例02-18:刪除字典中的元素 32
實例02-19:創建一鍵多值字典 33
實例02-20:使用OrderedDict類創建和修改有序字典 34
實例02-21:獲取字典中的最大值和最小值 35
實例02-22:獲取兩個字典中的相同鍵值對 35
實例02-23:使用函數itemgetter()對字典進行排序 36
實例02-24:使用字典推導式 37
實例02-25:根據字段進行分組 38
實例02-26:轉換並換算數據 39
實例02-27:將多個映射合並為單個映射 40
2.4 變量 41
實例02-28:實現變量賦值 41
實例02-29:使用局部變量 42
實例02-30:使用全局變量 42
實例02-31:體驗關鍵字global的作用 43
實例02-32:定義常量功能類_const 44
2.5 條件語句和循環流程控制 45
實例02-33:使用條件語句判斷年齡 45
實例02-34:使用for循環遍歷單詞“Python”中的各個字母 46
實例02-35:使用range()循環輸出列表中的元素 47
實例02-36:循環輸出10~20的各數是否是質數 47
實例02-37:獲取兩個整數之間的所有素數 48
實例02-38:輸出九九乘法表 48
實例02-39:使用while循環輸出整數0~4 49
實例02-40:while循環的死循環問題 49
實例02-41:輸出10以內的所有素數 50
實例02-42:在for循環和while循環中使用break語句 50
實例02-43:在for循環和while循環中使用continue語句 51
實例02-44:輸出指定英文單詞中的每個英文字母 52
2.6 函數 52
實例02-45:使用函數計算序列內元素的和 52
實例02-46:創建一個可以接受任意數量參數的函數 53
實例02-47:減少函數的參數 54
實例02-48:家政公司的打掃服務 54
2.7 類和對象 55
實例02-49:創建並使用類和對象 55
實例02-50:定義並使用類方法 56
實例02-51:我的寵物狗 56
實例02-52:使用屬性函數創建可以擴展功能的屬性 57
實例02-53:使用Python描述符實現延遲初始化 59
實例02-54:在寶馬汽車中使用繼承 60
實例02-55:在子類中擴展屬性 61
實例02-56:模仿Linux操作系統中的文件讀寫接口 62
2.8 迭代器和生成器 63
實例02-57:創建並使用迭代器 63
實例02-58:創建並使用生成器 64
實例02-59:實現委托迭代處理 64
實例02-60:使用生成器創建新迭代模式 65
實例02-61:使用生成器函數實現一個迭代協議 66
實例02-62:使用函數reversed()實現反轉迭代 67
實例02-63:實現有額外狀態的生成器函數 68
實例02-64:實現迭代器切片處理 69
實例02-65:迭代出所有可能的組合 69
實例02-66:使用函數enumerate()創建索引迭代序列 70
實例02-67:使用函數zip()或zip_longest()迭代多個序列 71
第3章 標準庫函數實戰 72
3.1 字符串處理函數 73
實例03-01:使用函數split()分割指定的字符串 73
實例03-02:使用函數re.split()分割指定字符串 73
實例03-03:字符串開頭和結尾處理 73
實例03-04:實現字符串匹配處理 74
實例03-05:文本模式匹配和查找 75
實例03-06:文本查找和替換 76
實例03-07:實現最短文本匹配 78
實例03-08:處理Unicode字符串 78
實例03-09:刪除字符串中的字符 79
實例03-10:字符過濾和清理 80
實例03-11:字符串對齊處理 81
實例03-12:字符串連接 81
實例03-13:重新格式化字符串 83
實例03-14:在字符串中處理HTML和XML標記 84
實例03-15:在字節串中實現基本文本處理 84
3.2 文件和I/O處理函數 85
實例03-16:刷新緩沖區 85
實例03-17:檢測文件是否連接到一個終端設備 86
實例03-18:返迴文件各行內容 86
實例03-19:返迴文件3個字節的內容 87
實例03-20:返迴文件中所有行 87
實例03-21:重復讀取文件中的第 1行內容 88
實例03-22:獲取當前文件位置 88
實例03-23:截取文件中前3個字符 88
實例03-24:向文件中寫入多行字符串 89
實例03-25:獲取文件操作權限 89
實例03-26:修改當前工作目錄到指定路徑 90
實例03-27:修改文件或目錄權限 90
實例03-28:遍歷顯示某個目錄中所有文件夾和文件列表 90
實例03-29:修改一個目錄名字 91
實例03-30:讀取兩個文本文件內容 91
實例03-31:字符串I/O 操作 92
實例03-32:讀寫壓縮文件 92
實例03-33:對二進制文件做內存映射 93
實例03-34:檢測某個文件或目錄是否存在 94
實例03-35:獲取某個目錄中的文件列表信息 94
實例03-36:獲取目錄的詳細信息 95
實例03-37:繞過文件名編碼設置編碼格式 95
實例03-38:創建並讀取臨時文件信息 96
實例03-39:實現數據序列化 97
3.3 數字處理函數 98
實例03-40:使用函數abs()返回絕對值 98
實例03-41:返回最小整數 98
實例03-42:返回參數指數值 99
實例03-43:返回參數的絕對值 99
實例03-44:返回指定數字的下舍整數 99
實例03-45:計算指定數字自然對數 99
實例03-46:計算指定數字以10為基數的對數 100
實例03-47:獲取參數最大值 100
實例03-48:獲取參數最小值 100
實例03-49:獲取參數的整數部分和小數部分 101
實例03-50:計算x的y次方的結果 101
實例03-51:計算指定數字的四捨五入值 101
實例03-52:使用格式化方式設置數字精度 102
實例03-53:計算指定數字的平方根 102
實例03-54:分別實現無窮大數和NaN驗證處理 102
實例03-55:實現誤差運算和精確運算 103
實例03-56:將整數轉換為二進制、八進制或十六進制數據 104
實例03-57:實現復數運算 104
實例03-58:使用fractions模塊處理分數 105
實例03-59:使用NumPy模塊分別創建一維數組和二維數組 106
實例03-60:使用函數choice()創建隨機數 106
3.4 日期和時間函數 106
實例03-61:使用函數time.clock()處理時間 106
實例03-62:使用函數time.tzset()操作時間 107
實例03-63:使用calendar模塊函數操作日期 107
實例03-64:使用類date的實例方法和屬性實現日期操作 109
實例03-65:使用類time實現日期操作 110
實例03-66:使用類datetime實現日期操作 110
實例03-67:使用類datetime格式化日期 110
實例03-68:使用類datetime實現時間換算 111
實例03-69:獲取某一周中某一天的日期 112
實例03-70:輸出當月每一天的日期 113
實例03-71:循環輸出當月每一天的日期 113
實例03-72:將字符串轉換為日期 114
第4章 進程通信和聯網操作實戰 115
4.1 使用Socket網絡接口庫 116
實例04-01:分別創建簡單Socket服務器和客戶端 116
實例04-02:使用Socket建立TCP“客戶端/服務器”連接 116
實例04-03:TCP“客戶端/服務器”模式的機器人聊天程序 117
實例04-04:實現一個文件上傳系統 118
實例04-05:使用Socket建立UDP“客戶端/服務器”連接 119
4.2 實現安全Socket編程 120
實例04-06:創建SSL Socket連接 120
實例04-07:實現客戶端和服務器SSL安全交互 121
4.3 實現I/O多路復用 123
實例04-08:使用select同時監聽多個埠 123
實例04-09:模擬多線程並實現讀寫分離 125
實例04-10:使用select實現一個可並發的服務器 126
實例04-11:實現一個可並發的服務器 126
實例04-12:實現高級I/O多路復用 127
4.4 實現異步I/O處理 128
實例04-13:使用asyncio實現Hello world代碼 128
實例04-14:使用asyncio獲取網站首頁信息 129
實例04-15:以動畫的方式顯示文本式旋轉指針 130
4.5 實現異步Socket處理 131
實例04-16:使用模塊asyncore實現一個基本的HTTP客戶端 131
實例04-17:使用模塊asyncore響應客戶端發送數據 132
4.6 實現內存映射 133
實例04-18:讀取文件test.txt的內容 133
實例04-19:讀取整個文件test.txt的內容 134
實例04-20:逐步讀取文件test.txt中的指定字節數內容 134
4.7 socketserver編程 135
實例04-21:使用socketserver創建TCP“客戶端/服務器”程序 135
實例04-22:使用ThreadingTCPServer創建“客戶端/服務器”通信程序 135
第5章 結構化標記處理實戰 137
5.1 使用內置模塊html 138
實例05-01:使用html.parser創建HTML解析器 138
實例05-02:使用html.entities解析HTML 139
5.2 使用內置模塊解析XML 140
實例05-03:使用模塊xml.etree.ElementTree讀取XML文件 140
實例05-04:使用SAX方法解析XML文件 141
實例05-05:使用DOM解析XML文件 143
實例05-06:使用DOM獲取XML文件中指定元素 144
實例05-07:使用模塊xml.sax.saxutils創建一個指定元素的XML文件 146
實例05-08:使用模塊xml.parsers.expat解析XML文件 148
5.3 使用第三方庫解析HTML和XML 149
實例05-09:使用庫Beautiful Soup解析HTML代碼 149
實例05-10:使用庫Beautiful Soup解析指定HTML標簽 150
實例05-11:將p標簽下的所有子標簽存入一個列表中 150
實例05-12:獲取p標簽下的所有子節點內容 151
實例05-13:處理標簽中的兄弟節點和父節點 151
實例05-14:根據標簽名查找文件 152
實例05-15:使用函數find_all()根據屬性查找文件 153
實例05-16:用函數find_all()根據text查找文件 153
實例05-17:使用其他標準選擇器 153
實例05-18:使用select()直接傳入CSS選擇器 154
實例05-19:使用庫bleach過濾HTML代碼 155
實例05-20:使用方法bleach.clean()不同參數實現過濾處理 155
實例05-21:使用方法bleach.linkify()添加指定屬性 156
實例05-22:使用callback參數刪除指定屬性 157
實例05-23:使用bleach.linkifier.Linker處理鏈接 157
實例05-24:使用bleach.linkifier.LinkifyFilter處理鏈接 158
實例05-25:使用庫cssutils處理CSS標記 158
實例05-26:使用html5lib解析HTML代碼 159
實例05-27:使用html5lib解析HTML中的指定標簽 159
實例05-28:使用庫MarkupSafe構建安全HTML 160
實例05-29:使用庫MarkupSafe實現格式化 161
實例05-30:使用庫pyquery實現字符串初始化 161
實例05-31:使用pyquery解析HTML內容 162
實例05-32:使用庫pyquery解析本地HTML文件和網絡頁面 163
實例05-33:使用庫pyquery實現基於CSS選擇器查找 163
實例05-34:使用庫pyquery查找子節點 164
實例05-35:使用庫pyquery查找父節點 165
實例05-36:使用庫pyquery獲取兄弟節點信息 165
第6章 應用程序開發實戰 167
6.1 使用webbrowser實現瀏覽器操作 168
實例06-01:分別調用IE和谷歌瀏覽器打開百度網主頁 168
實例06-02:調用默認瀏覽器每隔5s打開一次指定網頁 168
6.2 使用urllib包 168
實例06-03:在百度搜索關鍵詞中得到第 一頁鏈接 168
實例06-04:使用urllib實現HTTP身份驗證 169
6.3 使用內置模塊http 170
實例06-05:訪問指定的網站 170
實例06-06:使用http.client模塊中GET方式獲取數據 171
實例06-07:綜合使用模塊http和urllib 171
實例06-08:發送HTTP GET請求到遠端服務器 172
實例06-09:使用POST方法在請求主體中發送查詢參數 172
實例06-10:在發出的請求中提供自定義的HTTP頭 173
6.4 FTP傳輸、SMTP服務器和XML-RPC服務器 173
實例06-11:創建一個FTP文件傳輸客戶端 174
實例06-12:使用模塊smtpd創建一個SMTP服務器 175
實例06-13:使用模塊xmlrpc.server實現XML-RPC客戶端和服務器相互通信 175
6.5 開發電子郵件系統 176
實例06-14:獲取指定電子郵箱中最新兩封電子郵件的主題和發件人 176
實例06-15:向指定電子郵箱發送電子郵件 177
實例06-16:發送帶附件功能的電子郵件 178
實例06-17:使用庫envelopes向指定電子郵箱發送電子郵件 179
實例06-18:使用庫envelopes構建Flask Web電子郵件發送程序 179
實例06-19:創建一個帶有HTTP REST接口的SMTP服務器 180
6.6 解析JSON數據 180
實例06-20:將Python字典轉換為JSON對象 180
實例06-21:將JSON編碼的字符串轉換為Python數據結構 181
實例06-22:編寫自定義類解析JSON數據 181
6.7 實現數據編碼和解碼 185
實例06-23:實現數據“編碼/解碼”操作 185
實例06-24:實現bytes類型和base64類型的相互轉換 186
實例06-25:生成由某地址可表示的全部IP地址的範圍 187
6.8 實現身份驗證 188
實例06-26:獲取指定字符串的數據指紋 188
實例06-27:利用hmac模塊實現簡單且高效的身份驗證 188
實例06-28:Socket服務器和客戶端的加密認證 189
6.9 使用第三方庫處理HTTP 190
實例06-29:使用庫aiohttp實現異步處理 190
實例06-30:使用庫aiohttp爬取指定CSDN博客中技術文章地址 191
實例06-31:使用庫requests返回指定URL請求 192
實例06-32:提交的數據是向指定地址傳送的data裡面的數據 192
實例06-33:使用GET和POST方式處理JSON數據 193
實例06-34:添加headers獲取知乎頁面信息 193
實例06-35:使用自定義的編碼格式進行解碼 194
實例06-36:訪問遠程頁面信息 194
實例06-37:使用庫grequests同時處理一組請求 195
實例06-38:使用庫grequests提升訪問請求性能 195
實例06-39:使用庫httplib2獲取網頁數據 196
實例06-40:使用庫httplib2處理網頁緩存數據 196
實例06-41:使用POST發送構造數據 197
實例06-42:使用庫urllib3中的request()方法創建請求 198
實例06-43:在request()方法中添加head頭創建請求 198
實例06-44:使用庫urllib3中的post()方法創建請求 198
實例06-45:使用庫urllib3發送JSON數據 199
6.10 使用第三方庫處理URL 200
實例06-46:使用庫furl優雅地處理URL分頁 200
實例06-47:使用庫furl處理URL參數 200
實例06-48:使用內聯方法處理URL參數 201
實例06-49:使用庫purl處理3種構造類型URL 201
實例06-50:使用庫purl返回各個URL對象 201
實例06-51:使用庫purl修改URL參數值 202
實例06-52:在當前路徑末尾添加字段 202
實例06-53:使用庫webargs處理URL參數 203
實例06-54:在aiohttp程序中使用庫webargs 203
實例06-55:在Tornado程序中使用庫webargs 204
第7章 數據持久化操作實戰 205
7.1 操作SQLite3數據庫 206
實例07-01:使用方法cursor.execute()執行指定SQL語句 206
實例07-02:使用方法cursor.executemany()執行指定的SQL命令 206
實例07-03:同時執行多個SQL語句 207
實例07-04:使用方法create_function()執行指定函數 207
實例07-05:創建用戶定義的聚合函數 207
實例07-06:用自定義排序規則以“錯誤方式”進行排序 208
實例07-07:生成一個 SQLite Shell 209
實例07-08:返回數據庫中的列名稱列表 209
實例07-09:操作SQLite3數據庫 210
實例07-10:將自定義類Point適配SQLite3數據庫 211
實例07-11:使用函數register_adapter()註冊適配器函數 212
實例07-12:將datetime.datetime對象保存為UNIX時間戳 212
實例07-13:將自定義Python類型轉換成SQLite類型 212
實例07-14:使用默認適配器和轉換器 213
實例07-15:使用isolation_level開啟智能commit 214
實例07-16:手動開始commit(提交執行)操作 215
實例07-17:使用模塊apsw創建並操作SQLite數據庫數據 215
實例07-18:同時批處理上千條數據 215
7.2 操作MySQL數據庫 217
實例07-19:顯示PyMySQL數據庫版本號 217
實例07-20:創建新表 218
實例07-21:向數據庫中插入數據 218
實例07-22:查詢數據庫中的數據 219
實例07-23:更新數據庫中的數據 220
實例07-24:刪除數據庫中的數據 220
實例07-25:通過執行事務刪除表中的數據 221
實例07-26:足球俱樂部球員管理系統 221
7.3 使用MariaDB數據庫 224
實例07-27:搭建MariaDB數據庫環境 224
實例07-28:在Python程序中使用MariaDB數據庫 226
實例07-29:使用MariaDB創建MySQL數據庫 228
7.4 使用MongoDB數據庫 229
實例07-30:搭建MongoDB環境 229
實例07-31:使用PyMongo操作MongoDB數據庫 230
實例07-32:使用mongoengine操作MongoDB數據庫 232
7.5 使用ORM操作數據庫 234
實例07-33:使用SQLAlchemy操作兩種數據庫 234
實例07-34:使用Peewee操作SQLite數據庫 237
實例07-35:更新和刪除指定數據庫中數據 238
實例07-36:查詢數據庫中指定範圍內的數據 238
實例07-37:使用Peewee在MySQL數據庫中創建兩個表 240
實例07-38:使用Pony創建一個SQLite數據庫 241
實例07-39:使用Pony向數據庫的指定表中添加新數據 242
實例07-40:使用Pony查詢並修改數據庫中指定數據 244
實例07-41:使用Pony刪除數據庫的表中的某條數據 245
實例07-42:在指定MySQL數據庫中創建指定的表 245
實例07-43:在MySQL數據庫中實現一對多和繼承操作 246
實例07-44:下載並安裝PostgreSQL 248
實例07-45:連接指定PostgreSQL數據庫 248
實例07-46:在PostgreSQL數據庫中創建指定表 249
實例07-47:創建PostgreSQL表並插入新數據 249
實例07-48:查詢顯示指定表中的數據 250
實例07-49:向PostgreSQL數據庫中插入新數據並更新數據 251
實例07-50:刪除PostgreSQL數據庫中的指定數據 252
實例07-51:創建PostgreSQL表並實現插入、查詢、更新和刪除數據 253
實例07-52:使用模塊queries查詢PostgreSQL數據庫中的數據 254
實例07-53:查詢並顯示PostgreSQL數據庫中的數據 254
7.6 連接SQL Server數據庫 255
實例07-54:連接並操作SQL Server數據庫 255
實例07-55:創建SQL Server表並查詢其數據 256
7.7 使用Redis存儲 257
實例07-56:使用Redis連接服務器 257
實例07-57:使用ConnectionPool創建連接池 257
實例07-58:實現“發布-訂閱”模式 258
實例07-59:在Redis中使用delete命令和exists命令 258
實例07-60:使用expire命令和expireat命令 259
實例07-61:使用persist命令、keys命令和move命令 259
第8章 特殊文本格式處理實戰 261
8.1 Tablib模塊實戰演練 262
實例08-01:操作數據集中的指定行和列 262
實例08-02:刪除指定數據並導出不同文本格式的數據 262
實例08-03:將Tablib數據集導出到新建Excel文件 263
實例08-04:將多個Tablib數據集導出到Excel文件 264
實例08-05:使用標簽過濾Tablib數據集 266
實例08-06:將兩組數據分離導入Excel文件 266
8.2 Office處理實戰 267
實例08-07:使用openpyxl讀取Excel文件 267
實例08-08:將4組數據導入Excel文件中 267
實例08-09:在Excel文件中檢索某關鍵字 268
實例08-10:將數據導入Excel文件並生成圖表 269
實例08-11:使用pyexcel讀取並寫入CSV文件 270
實例08-12:使用pyexcel讀取Excel文件中的每個單元格內容 271
實例08-13:按列讀取並顯示Excel文件中的每個單元格內容 271
實例08-14:讀取並顯示Excel文件中的所有數據 272
實例08-15:將3組數據導入新建的Excel文件中 272
實例08-16:使用pyexcel以多種方式獲取Excel數據 273
實例08-17:將數據分別導入Excel文件和SQLite數據庫 274
實例08-18:使用python-docx創建Word文檔 274
實例08-19:在Word文檔中插入20個實心圖形 275
實例08-20:向Word文檔中添加指定段落樣式的內容 276
實例08-21:得到英文的樣式名稱 277
實例08-22:獲取Word文檔中的文本樣式名稱 278
實例08-23:獲取Word文檔中的文本內容 278
實例08-24:在Word文檔中創建表格 278
實例08-25:創建表格並合並其中的單元格 279
實例08-26:調整Word表格寬度 280
實例08-27:獲取python-docx內部的表格樣式名稱 280
實例08-28:使用指定樣式修飾表格 281
實例08-29:創建樣式和設置字體 281
實例08-30:使用Run.font設置字體樣式 282
實例08-31:設置段落遞進的左對齊樣式 282
實例08-32:自定義創建Word樣式 283
實例08-33:使用庫xlrd讀取Excel文件的內容 284
實例08-34:將指定內容寫入Excel文件並創建Excel文件 285
實例08-35:使用庫xlsxwriter創建一個指定內容的Excel文件 285
實例08-36:向Excel文件中批量寫入內容 286
實例08-37:設置表格樣式 286
實例08-38:向Excel文件中插入圖像 288
實例08-39:向Excel文件中插入數據並繪制柱狀圖 289
實例08-40:向Excel文件中插入數據並繪制散點圖 290
實例08-41:向Excel文件中插入數據並繪制柱狀圖和餅圖 291
8.3 PDF處理實戰 293
實例08-42:將PDF文件中的內容轉換為TXT文本 293
實例08-43:解析某個在線PDF文件的內容 295
實例08-44:使用PyPDF2讀取PDF文件 297
實例08-45:使用PyPDF2將PDF文件中寫入另一個PDF文件內容 298
實例08-46:將兩個PDF文件合並為一個PDF文件 298
實例08-47:分割某個指定PDF文件 299
實例08-48:合並3個PDF文件 299
實例08-49:向指定PDF文件中寫入文本 300
實例08-50:向PDF文件中寫入指定樣式的文本 300
實例08-51:在PDF文件中繪制矢量圖形 301
實例08-52:在PDF文件中繪制圖像 301
實例08-53:分別在PDF文件和PNG文件中繪制餅圖 302
實例08-54:在PDF文件中分別生成條形圖和二維碼 303
第9章 圖形化界面開發實戰 305
9.1 使用內置庫tkinter 306
實例09-01:創建第 一個GUI程序 306
實例09-02:向窗口中添加組件 306
實例09-03:使用Frame()佈局窗體界面 307
實例09-04:向窗口中添加按鈕控件 307
實例09-05:使用文本框控件 308
實例09-06:實現會員註冊界面效果 309
實例09-07:使用菜單控件 310
實例09-08:在窗口中創建標簽 310
實例09-09:在tkinter窗口中創建單選按鈕和復選框 311
實例09-10:在窗口中繪制圖形 312
實例09-11:使用事件機制創建一個“英尺/米”轉換器 313
實例09-12:實現一個動態繪圖程序 314
實例09-13:實現一個簡單計算器程序 316
實例09-14:創建消息對話框 317
實例09-15:創建輸入對話框 318
實例09-16:創建打開/保存文件對話框 319
實例09-17:創建選擇顏色對話框 319
實例09-18:創建自定義對話框 320
實例09-19:開發一個記事本程序 321
實例09-20:使用偏函數模擬實現交通標志 323
實例09-21:創建桌面天氣預報程序 325
實例09-22:創建精簡版資源管理器 326
9.2 使用tkinter的擴展小部件tkinter.tix 328
實例09-23:使用Balloon組件 328
實例09-24:使用DirList組件 329
實例09-25:使用分組列表組件 330
實例09-26:使用管理組件 332
實例09-27:實現一個日歷程序 333
9.3 Pmw庫開發實戰 335
實例09-28:下載並安裝Pmw 335
實例09-29:使用ButtonBox組件 336
實例09-30:使用ComboBox組件 337
實例09-31:使用Counter組件 339
實例09-32:使用Group組件 340
實例09-33:使用LabeledWidget組件 341
實例09-34:使用MainMenuBar組件 342
實例09-35:使用MessageBar組件 344
實例09-36:使用OptionMenu組件 345
實例09-37:使用RadioSelect組件 345
實例09-38:使用ScrolledCanvas組件 347
實例09-39:使用AboutDialog組件 348
實例09-40:使用Balloon組件 349
實例09-41:使用PyQt創建第 一個GUI程序 351
實例09-42:在PyQt窗體中創建一個圖標 352
實例09-43:在PyQt窗體中實現一個提示信息 353
實例09-44:在PyQt窗體中創建狀態欄信息 354
實例09-45:在PyQt窗體中同時創建菜單欄和狀態欄信息 354
實例09-46:在PyQt窗體中創建工具欄 356
實例09-47:在PyQt窗體中使用絕對定位方式 356
實例09-48:使用箱佈局 357
實例09-49:使用網格佈局模擬實現一個計算器界面 358
實例09-50:使用表單佈局實現一個留言板界面 359
實例09-51:使用單擊按鈕事件處理程序 359
實例09-52:在PyQt5中使用信號和槽 360
實例09-53:重新實現按鍵盤按鍵後的操作功能 361
實例09-54:重新實現按住方向鍵後的操作功能 361
實例09-55:實現人機對戰“石頭、剪刀、布”小游戲 362
實例09-56:發送自定義信號 363
實例09-57:使用對話框獲取用戶名信息 364
實例09-58:使用顏色選擇對話框設置背景顏色 365
實例09-59:使用字體選擇對話框設置字體 366
實例09-60:使用文件選擇對話框選擇一個文件 367
實例09-61:使用QCheckBox實現復選框功能 368
實例09-62:使用QRadioButton實現單選按鈕功能 369
實例09-63:使用QPushButton實現切換按鈕功能 370
實例09-64:使用QSlider實現一個音量控制器 371
實例09-65:使用QProgressBar實現一個進度條效果 372
實例09-66:使用QCalendarWidget實現一個日歷 373
實例09-67:在窗口中顯示一個圖片 374
實例09-68:創建一個單行文本編輯框 375
實例09-69:創建兩個分割框組件 376
實例09-70:使用Eric6提高開發效率 377
9.4 使用pyglet庫 378
實例09-71:創建第 一個pyglet程序 378
實例09-72:在窗體中顯示指定圖片 378
實例09-73:使用庫pyglet處理鍵盤事件程序 379
實例09-74:在屏幕上繪制一個三角形 379
實例09-75:使用頂點數組繪制三角形 380
實例09-76:開發一個Minecraft游戲 381
9.5 使用Toga庫 385
實例09-77:使用Toga創建第 一個GUI程序 385
實例09-78:創建一個溫度轉換器 386
實例09-79:使用組件ScrollContainer實現滾動功能 387
實例09-80:使用繪圖組件 388
9.6 wxPython實戰 389
實例09-81:開發第 一個wxPython程序 389
實例09-82:使用StaticText組件在窗體中顯示文本 389
實例09-83:創建4種不同樣式的文本框 391
實例09-84:使用RadioButton組件 392
9.7 GUI高級實戰 393
實例09-85:實現tkinter+ SQLite3圖書館系統 393
實例09-86:實現tkinter + SQLite3多線程計時器系統 395