Python 開發實例大全 上捲

張善香 田蘊琦 張曉博

  • 出版商: 人民郵電
  • 出版日期: 2023-05-01
  • 售價: $659
  • 貴賓價: 9.5$626
  • 語言: 簡體中文
  • 頁數: 397
  • ISBN: 7115528551
  • ISBN-13: 9787115528551
  • 相關分類: Python程式語言
  • 立即出貨 (庫存 < 3)

  • Python 開發實例大全 上捲-preview-1
  • Python 開發實例大全 上捲-preview-2
Python 開發實例大全 上捲-preview-1

買這商品的人也買了...

商品描述

本書內容齊全,通過實例循序漸進地講解了開發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