Python從入門到精通(第2版)

明日科技

  • 出版商: 清華大學
  • 出版日期: 2021-07-01
  • 售價: $479
  • 貴賓價: 9.5$455
  • 語言: 簡體中文
  • 頁數: 446
  • 裝訂: 平裝
  • ISBN: 7302581231
  • ISBN-13: 9787302581239
  • 立即出貨

  • Python從入門到精通(第2版)-preview-1
  • Python從入門到精通(第2版)-preview-2
  • Python從入門到精通(第2版)-preview-3
Python從入門到精通(第2版)-preview-1

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

商品描述

《Python從入門到精通(第2版)》從初學者角度出發,通過通俗易懂的語言、豐富多彩的實例,詳細介紹了使用Python進行程序開發應該掌握的各方面技術。全書共分23章,包括初識Python、Python語言基礎、運算符與表達式、流程控制語句、列表和元組、字典和集合、字符串、Python中使用正則表達式、函數、面向對象程序設計、模塊、異常處理及程序調試、文件及目錄操作、操作數據庫、GUI界面編程、Pygame游戲編程、網絡爬蟲開發、使用進程和線程、網絡編程、Web編程、Flask框架、e起去旅行網站、AI圖像識別工具等內容。所有知識都結合具體實例進行介紹,涉及的程序代碼都給出了詳細的註釋,讀者可輕松領會Python程序開發的精髓,快速提升開發技能。除此之外,本書還附配了243集高清教學微視頻及PPT電子教案。

作者簡介

明日科技,全稱是吉林省明日科技有限公司,是一家專業從事軟件開發、教育培訓以及軟件開發教育資源整合的高科技公司,其編寫的教材非常注重選取軟件開發中的必需、常用內容,同時也很注重內容的易學、方便性以及相關知識的拓展性,深受讀者喜愛。其教材多次榮獲“全行業優秀暢銷品種”“全國高校出版社優秀暢銷書”等獎項,多個品種長期位居同類圖書銷售排行榜的前列。

目錄大綱

第1篇基礎知識
第1章初識Python 2
1.1 Python簡介2
1.1.1什麼是Python 2
1.1.2 Python的版本3
1.1.3 Python能做什麼3
1.2搭建Python開發環境5
1.2.1開發環境概述5
1.2.2安裝Python 5
1.2.3編寫第一個Python程序10
1.2.4運行已經編寫好的.py文件11
1.3 Python開發工具12
1.3.1使用自帶的IDLE 12
1.3.2常用的第三方開發工具14
1.4實踐與練習16

第2章Python語言基礎17
2.1 Python語法特點17
2.1.1註釋規則17
2.1.2代碼縮進21
2.1.3編碼規範22
2.2 Python中的變量24
2.2.1保留字與標識符24
2.2 .2理解Python中的變量26
2.2.3定義變量27
2.3基本數據類型28
2.3.1數字28
2.3.2字符串30
2.3.3布爾類型32
2.3.4數據類型轉換32
2.4基本輸入和輸出33
2.4.1使用input()函數輸入33
2.4.2使用print()函數輸出34
2.5實踐與練習35

第3章運算符與表達式36
3.1運算符36
3.1.1算術運算符36
3.1.2賦值運算符38
3.1.3比較(關係)運算符38
3.1.4邏輯運算符39
3.1.5位運算符40
3.2運算符的優先級43
3.3條件表達式43
3.4實踐與練習44

第4章流程控制語句45
4.1程序結構45
4.2選擇語句46
4.2.1最簡單的if語句47
4.2.2 if…else語句48
4.2.3 if…elif…else語句50
4.2.4選擇語句的嵌套52
4.3循環語句53
4.3. 1 while循環54
4.3.2 for循環55
4.3.3循環嵌套57
4.4 break、continue和pass語句58
4.4.1 break語句58
4.4.2 continue語句60
4.4.3 pass語句61
4.5實踐與練習62

第5章列表和元組63
5.1序列概述63
5.1.1索引64
5.1.2切片65
5.1.3序列相加65
5.1.4乘法66
5.1.5檢查某個元素是否是序列的成員(元素) 67
5.1.6計算序列的長度、最大值和最小值67
5.2列表68
5.2.1列表的創建和刪除68
5.2.2訪問列表元素70
5.2.3遍歷列表71
5.2.4添加、修改和刪除列表元素73
5.2.5對列表進行統計計算76
5.2.6對列表進行排序77
5.2.7列表推導式79
5.2.8二維列表80
5.3元組83
5.3.1元組的創建和刪除83
5.3.2訪問元組元素86
5.3.3修改元組88
5.3.4元組推導式89
5.3.5元組與列表的區別90
5.4實踐與練習91

第6章字典和集合92
6.1字典92
6.1.1字典的創建和刪除93
6.1.2訪問字典95
6.1.3遍歷字典97
6.1.4添加、修改和刪除字典元素98
6.1.5字典推導式100
6.2集合100
6.2.1創建集合101
6.2.2向集合中添加和刪除元素103
6.2.3集合的交集、並集和差集運算104
6.3實踐與練習105

第7章字符串106
7.1字符串編碼轉換106
7.1. 1使用encode()方法編碼107
7.1.2使用decode()方法解碼108
7.2字符串常用操作108
7.2.1拼接字符串108
7.2.2計算字符串的長度110
7.2.3截取字符串111
7.2.4分割、合併字符串112
7.2.5檢索字符串115
7.2.6字母的大小寫轉換118
7.2.7去除字符串中的空格和特殊字符119
7.2.8格式化字符串121
7.3實踐與練習124

第2篇進階提高
第8章Python中使用正則表達式126
8.1正則表達式語法126
8.1.1行定位符126
8.1.2元字符127
8.1.3限定符127
8.1.4字符類128
8.1.5排除字符128
8.1.6選擇字符128
8.1.7轉義字符129
8.1.8分組129
8.1.9在Python中使用正則表達式語法129
8.2使用re模塊實現正則表達式操作130
8.2.1匹配字符串130
8.2.2替換字符串134
8.2.3使用正則表達式分割字符串135
8.3實踐與練習136

第9章函數137
9.1函數的創建和調用137
9.1.1創建一個函數137
9.1.2調用函數139
9.2參數傳遞140
9.2.1了解形式參數和實際參數140
9.2.2位置參數143
9.2.3關鍵字參數144
9.2.4為參數設置默認值145
9.2.5可變參數147
9.3返回值149
9.4變量的作用域151
9.4.1局部變量151
9.4.2全局變量152
9.5匿名函數154
9.6實踐與練習155

第10章面向對象程序設計156
10.1面向對象概述156
10.1.1對象157
10.1.2類157
10.1.3面向對象程序設計的特點158
10.2類的定義和使用159
10.2.1定義類159
10.2.2創建類的實例160
10.2.3創建__init__()方法160
10.2.4創建類的成員並訪問162
10.2.5訪問限制166
10.3屬性167
10.3.1創建用於計算的屬性167
10.3.2為屬性添加安全保護機制168
10.4繼承170
10.4.1繼承的基本語法170
10.4.2方法重寫171
10.4.3派生類中調用基類的__init__()方法172
10.5實踐與練習174

第11章模塊175
11.1模塊概述175
11.2自定義模塊176
11.2.1創建模塊176
11.2.2使用import語句導入模塊177
11.2.3使用from…import語句導入模塊178
11.2.4模塊搜索目錄180
11.3 Python中的包183
11.3.1 Python程序的包結構183
11.3.2創建和使用包183
11.3.3以主程序的形式執行187
11.4引用其他模塊188
11.4.1導入和使用標準模塊188
11.4.2第三方模塊的下載與安裝190
11.5實踐與練習191

第12章異常處理及程序調試193
12.1異常概述193
12.2異常處理語句195
12.2.1 try…except語句195
12.2.2 try…except…else語句197
12.2.3 try…except…finally語句198
12.2.4使用raise語句拋出異常199
12.3程序調試201
12.3.1使用自帶的IDLE進行程序調試201
12.3.2使用assert語句調試程序203
12.4實踐與練習205

第13章文件及目錄操作206
13.1基本文件操作206
13.1.1創建和打開文件207
13.1. 2關閉文件209
13.1.3打開文件時使用with語句210
13.1.4寫入文件內容210
13.1.5讀取文件212
13.2目錄操作216
13.2.1 os和os.path模塊216
13.2.2路徑218
13.2. 3判斷目錄是否存在219
13.2.4創建目錄220
13.2.5刪除目錄222
13.2.6遍歷目錄222
13.3高級文件操作224
13.3.1刪除文件224
13.3.2重命名文件和目錄225
13.3.3獲取文件基本信息226
13.4實踐與練習228

第14章操作數據庫229
14.1數據庫編程接口229
14.1.1連接對象230
14.1.2游標對象231
14.2使用SQLite 231
14.2.1創建數據庫文件231
14.2.2操作SQLite 233
14.3使用MySQL 236
14.3.1下載和安裝MySQL 236
14.3.2安裝PyMySQL 240
14.3.3連接數據庫241
14.3.4創建數據表241
14.3.5操作MySQL數據表243
14.4實踐與練習244

第3篇高級應用
第15章GUI界面編程246
15.1初識GUI 246
15.1.1什麼是GUI 246
15.1.2常用的GUI框架247
15.1.3安裝PyQt5 247
15.2使用Qt Designer創建窗口250
15.2.1創建主窗口250
15.2 .2設計主窗口251
15.2.3預覽窗口效果252
15.2.4將.ui文件轉換為.py文件252
15.2.5運行主窗口253
15.3信號與槽254
15.3.1編輯信號與槽255
15.3.2自定義槽256
15.3.3將自定義槽連接到信號256
15.4常用控件257
15.4.1 Label:標籤控件257
15.4.2 LineEdit:單行文本框控件258
15.4.3 TextEdit:多行文本框控件260
15.4.4 PushButton:按鈕控件261
15.4.5 CheckBox:複選框控件263
15.4.6 RadioButton:單選按鈕控件265
15.4.7 ComboBox:下拉組合框控件265
15.5實踐與練習267

第16章Pygame遊戲編程268
16.1初識Pygame 268
16.1.1安裝Pygame 268
16.1.2 Pygame常用模塊269
16.2 Pygame基本使用270
16.3開發Flappy Bird遊戲276
16.3.1遊戲簡介276
16.3 .2遊戲分析276
16.3.3搭建主框架276
16.3.4創建小鳥類278
16.3.5創建管道類280
16.3.6計算得分282
16.3.7碰撞檢測283
16.4實踐與練習285

第17章網絡爬蟲開發286
17.1初識網絡爬蟲286
17.1.1網絡爬蟲概述286
17.1.2網絡爬蟲的分類287
17.1.3網絡爬蟲的基本原理288
17.2網絡爬蟲的常用技術288
17.2 .1 Python的網絡請求288
17.2.2請求headers處理291
17.2.3網絡超時292
17.2.4代理服務293
17.2.5 HTML解析之BeautifulSoup 294
17.3網絡爬蟲開發常用框架Scrapy 297
17.3.1安裝Scrapy爬蟲框架297
17.3.2創建Scrapy項目298
17.3.3創建爬蟲299
17.4實戰項目:快手爬票300
17.4.1快手爬票概述300
17.4.2創建快手爬票項目301
17.4.3主窗口設計302
17.4.4分析網頁請求參數308
17.4.5下載站名文件309
17.4.6車票信息的請求與顯示312
17.5實踐與練習318

第18章使用進程和線程319
18.1什麼是進程319
18.2創建進程的常用方式320
18.2.1使用multiprocessing模塊創建進程320
18.2.2使用Process子類創建進程322
18.2.3使用進程池Pool創建進程324
18.3進程間通信326
18.3.1隊列簡介327
18.3.2多進程隊列的使用328
18.3 .3使用隊列在進程間通信329
18.4什麼是線程330
18.5創建線程330
18.5.1使用threading模塊創建線程331
18.5.2使用Thread子類創建線程332
18.6線程間通信333
18.6.1什麼是互斥鎖334
18.6.2使用互斥鎖334
18.6.3使用隊列在線程間通信336
18.7實踐與練習337

第19章網絡編程338
19.1網絡基礎338
19.1.1為什麼要使用通信協議338
19.1.2 TCP/IP簡介339
19.1.3 UDP簡介340
19.1.4 socket簡介341
19.2 TCP編程342
19.2.1創建TCP服務器342
19.2.2創建TCP客戶端343
19.2.3執行TCP服務器和客戶端344
19.3 UDP編程347
19.3.1創建UDP服務器347
19.3.2創建UDP客戶端348
19.3.3執行UDP服務器和客戶端348
19.4實踐與練習349

第20章Web編程350
20.1 Web基礎350
20.1.1 HTTP協議350
20.1.2 Web服務器351
20.1.3前端基礎353
20.1.4靜態服務器355
20.2 WSGI接口359
20.2.1 CGI簡介359
20.2.2 WSGI簡介360
20.2.3定義WSGI接口360
20.2.4運行WSGI服務361
20.3 Web框架364
20.3. 1什麼是Web框架364
20.3.2 Python中常用的Web框架364
20.4實踐與練習365

第21章Flask框架366
21.1 Flask簡介366
21.1.1安裝虛擬環境366
21.1.2安裝Flask 368
21.1.3第一個Flask程序368
21.2 Flask基礎369
21.2.1開啟調試模式369
21.2.2路由370
21.2.3靜態文件372
21.2.4藍圖372
21.3模板373
21.3.1渲染模板373
21.3.2變量374
21.3.3控制結構375
21.4 Web表單376
21.4.1 CSRF保護和驗證377
21.4.2表單類377
21.4.3把表單渲染成HTML 379
21.5實踐與練習381

第4篇項目實戰
第22章e起去旅行網站384
22.1系統功能設計384
22.1.1系統功能結構384
22.1.2系統業務流程385
22.2系統開發必備386
22.2.1系統開發環境386
22.2.2文件夾組織結構386
22.3數據庫設計387
22.3.1數據庫概要說明387
22.3.2數據表模型387
22.3.3數據表關係389
22.4前台用戶模塊設計389
22.4.1會員註冊功能實現389
22.4.2會員登錄功能實現397
22.4.3會員退出功能實現398
22.5前台首頁模塊設計398
22.5.1推薦景區功能實現400
22.5.2推薦地區功能實現402
22.5.3搜索景區功能實現403
22.6景區模塊設計406
22.6.1查看景區功能實現406
22.6.2查看遊記功能實現408
22.6.3收藏景區功能實現409
22.6.4查看收藏景區功能實現412
22.7關於我們模塊設計415
22.8後台模塊設計419
22.8.1管理員登錄功能實現419
22.8.2景區管理功能實現421
22.8.3地區管理功能實現432
22.8.4遊記管理功能實現432
22.8.5會員管理功能實現433
22.8. 6日誌管理功能實現433

第23章AI圖像識別工具435
23.1需求分析435
23.2系統設計流程435
23.3系統開發必備436
23.3.1系統開發環境436
23.3.2文件夾組織結構436
23.4開發前的準備工作437
23.4.1申請百度AI接口437
23.4.2 urllib、urllib.request模塊438
23.4.3 json模塊439
23.5 AI圖像識別工具的開發440
23.5.1根據項目設計製作窗體440
23.5.2添加分類440
23.5.3選擇識別的圖片441
23.5.4銀行卡圖像識別443
23.5.5植物圖像識別444
23.5.6複製識別結果到剪貼板中445