注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Python從菜鳥到高手(第2版)

Python從菜鳥到高手(第2版)

Python從菜鳥到高手(第2版)

定 價(jià):¥95.00

作 者: 李寧
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302613947 出版時(shí)間: 2022-11-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  本書從實(shí)戰(zhàn)角度系統(tǒng)講解了Python核心知識點(diǎn)以及Python在Web開發(fā)、數(shù)據(jù)分析、網(wǎng)絡(luò)爬蟲、桌面應(yīng)用等領(lǐng)域的各種應(yīng)用實(shí)踐。本書用超過10萬行代碼、500個(gè)案例完美演繹了Python在各個(gè)領(lǐng)域的出色表現(xiàn),每一個(gè)案例都擁有詳細(xì)的實(shí)現(xiàn)步驟,帶領(lǐng)讀者由淺入深系統(tǒng)掌握Python語言的核心以及Python全棧開發(fā)的技能。本書分為四篇,共26章,介紹Python基礎(chǔ)、存儲解決方案、網(wǎng)絡(luò)與并發(fā)和Python高級技術(shù)等內(nèi)容。 本書適用于零基礎(chǔ)的初學(xué)者,適合作為高等院校教材,也適合想掌握Python開發(fā)的程序員以及所有對Python感興趣的技術(shù)人員參考。

作者簡介

  李寧畢業(yè)于東北大學(xué),獲得計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)碩士學(xué)位。UnityMarvel創(chuàng)始人,華為公司HDE(HUAWEI Developer Experts),開發(fā)原子基金會銀牌講師,51CTO學(xué)院金牌講師,IT暢銷書作者。從事軟件研究和開發(fā)超過20年,一直從事編譯器、人工智能、Python、JavaScript、Node.js、Java及跨平臺技術(shù)的研究工作,對相關(guān)領(lǐng)域的理論、技術(shù)和實(shí)踐有很深的理解和研究。曾出版40多部IT技術(shù)圖書。

圖書目錄

篇  Python基礎(chǔ)知識
第1章  Python入門 3
1.1  搭建Python編程環(huán)境 3
1.1.1  獲取Python安裝包 3
1.1.2  安裝Windows版的Python安裝包 4
1.1.3  安裝macOS版的Python安裝包 4
1.1.4  安裝Linux版的Python安裝包 4
1.2  搭建和使用PyCharm 5
1.2.1  下載和安裝PyCharm 5
1.2.2  創(chuàng)建PyCharm Python工程 6
1.2.3  在PyCharm中添加Python環(huán)境 7
1.2.4  在PyCharm中運(yùn)行Python程序 9
1.3  Python中的REPL環(huán)境 9
1.4  個(gè)Python程序 10
1.5  調(diào)試Python程序 10
1.6  實(shí)戰(zhàn)與演練 12
1.7  本章小結(jié) 12
第2章  Python語言基礎(chǔ) 13
2.1  運(yùn)行helloworld.py會發(fā)生什么情況 13
2.2  變量 14
2.2.1  變量的定義和初始化 14
2.2.2  變量的命名 15
2.2.3  避免弄錯(cuò)變量名 16
2.2.4  如何理解變量 17
2.3  字符串基礎(chǔ) 18
2.3.1  單引號字符串和轉(zhuǎn)義符 18
2.3.2  拼接字符串 19
2.3.3  保持字符串的原汁原味 20
2.3.4  長字符串 21
2.4  數(shù)字 22
2.4.1  基礎(chǔ)知識 22
2.4.2  大整數(shù) 23
2.4.3  二進(jìn)制、八進(jìn)制和十六進(jìn)制 24
2.4.4  數(shù)字的格式化輸出 25
2.5  獲取用戶輸入 26
2.6  注釋 26
2.7  實(shí)戰(zhàn)與演練 27
2.8  本章小結(jié) 28
第3章  條件與循環(huán) 29
3.1  條件和條件語句 29
3.1.1  布爾(Boolean)值和布爾變量 29
3.1.2  條件語句(if、else和elif) 30
3.1.3  嵌套代碼塊 32
3.1.4  比較運(yùn)算符 33
3.1.5  斷言 35
3.1.6  pass語句與空代碼塊 36
3.2  循環(huán) 37
3.2.1  while循環(huán) 37
3.2.2  for循環(huán) 38
3.2.3  跳出循環(huán) 40
3.2.4  循環(huán)中的else語句 41
3.3  實(shí)戰(zhàn)與演練 42
3.4  本章小結(jié) 43
第4章  列表和元組 44
4.1  定義列表 44
4.2  列表的基本操作 44
4.2.1  通過索引操作列表元素 44
4.2.2  分片 46
4.2.3  列表的加法 48
4.2.4  列表的乘法 48
4.2.5  in運(yùn)算符 48
4.2.6  列表的長度、值和小值 49
4.2.7  列表封包和列表解包 50
4.2.8  修改列表元素 52
4.2.9  刪除列表元素 52
4.2.10  分片賦值 52
4.3  列表方法 53
4.4  元組 56
4.5  for循環(huán)與列表 57
4.5.1  使用for循環(huán)枚舉列表與元組中的元素 57
4.5.2  使用for-in循環(huán)遍歷列表與元組中的元素 58
4.5.3  使用for表達(dá)式自動(dòng)生成列表 59
4.6  實(shí)戰(zhàn)與演練 60
4.7  本章小結(jié) 62
第5章  字符串 63
5.1  字符串格式化 63
5.1.1  字符串格式化基礎(chǔ) 63
5.1.2  模板字符串 65
5.1.3  字符串的format方法 65
5.1.4  更進(jìn)一步控制字符串格式化參數(shù) 67
5.1.5  字段寬度、精度和千分位分隔符 68
5.1.6  符號、對齊、用0填充和進(jìn)制轉(zhuǎn)換 69
5.1.7  f字符串 70
5.2  字符串方法 70
5.2.1  center方法 70
5.2.2  find方法 71
5.2.3  join方法 71
5.2.4  split方法 72
5.2.5  lower方法、upper方法和capwords函數(shù) 73
5.2.6  replace方法 74
5.2.7  strip方法 74
5.2.8  translate方法與maketrans方法 75
5.3  實(shí)戰(zhàn)與演練 75
5.4  本章小結(jié) 76
第6章  字典 77
6.1  為什么要引入字典 77
6.2  創(chuàng)建和使用字典 78
6.2.1  dict函數(shù) 78
6.2.2  字典的基本操作 78
6.2.3  字典的格式化字符串 80
6.2.4  字典迭代 81
6.3  字典方法 82
6.3.1  clear方法 82
6.3.2  copy方法與deepcopy函數(shù) 82
6.3.3  fromkeys方法 83
6.3.4  get方法 84
6.3.5  items方法和keys方法 84
6.3.6  pop方法和popitem方法 85
6.3.7  setdefault方法 86
6.3.8  update方法 87
6.3.9  values方法 87
6.4  實(shí)戰(zhàn)與演練 88
6.5  本章小結(jié) 89
第7章  函數(shù) 90
7.1  函數(shù)基礎(chǔ) 90
7.1.1  定義函數(shù) 90
7.1.2  為函數(shù)添加文檔注釋 90
7.1.3  沒有返回值的函數(shù) 91
7.2  函數(shù)參數(shù) 92
7.2.1  改變參數(shù)的值 92
7.2.2  命名參數(shù)與默認(rèn)值 97
7.2.3  可變參數(shù) 99
7.2.4  將序列作為函數(shù)的參數(shù)值 100
7.3  作用域 103
7.4  實(shí)戰(zhàn)與演練 104
7.5  本章小結(jié) 105
第8章  類和對象 106
8.1  對象的魔法 106
8.2  類 106
8.2.1  創(chuàng)建自己的類 106
8.2.2  方法和私有化 108
8.2.3  類代碼塊 110
8.2.4  類的繼承 111
8.2.5  檢測繼承關(guān)系 111
8.2.6  多繼承 113
8.2.7  接口 114
8.3  實(shí)戰(zhàn)與演練 116
8.4  本章小結(jié) 116
第9章  異常 117
9.1  什么是異常 117
9.2  主動(dòng)拋出異常 117
9.2.1  raise語句 118
9.2.2  自定義異常類 119
9.3  捕捉異常 120
9.3.1  try…except語句的基本用法 120
9.3.2  捕捉多個(gè)異常 121
9.3.3  用同一個(gè)代碼塊處理多個(gè)異常 123
9.3.4  捕捉對象 124
9.3.5  異常捕捉中的else子句 126
9.3.6  異常捕捉中的finally子句 127
9.4  異常、函數(shù)與棧跟蹤 129
9.5  異常的妙用 129
9.6  實(shí)戰(zhàn)與演練 131
9.7  本章小結(jié) 131
第10章  方法、屬性和迭代器 132
10.1  構(gòu)造方法 132
10.1.1  構(gòu)造方法的基礎(chǔ)知識 132
10.1.2  重寫普通方法和構(gòu)造方法 133
10.1.3  使用super函數(shù) 135
10.2  特殊成員方法 136
10.2.1  自定義序列 136
10.2.2  從內(nèi)建列表、字符串和字典繼承 138
10.3  方法重載 140
10.3.1  Python為什么在語法上不支持方法重載 141
10.3.2  用魔法方法讓Python支持方法重載 142
10.4  屬性 145
10.4.1  傳統(tǒng)的屬性 145
10.4.2  property函數(shù) 147
10.4.3  監(jiān)控對象中所有的屬性 148
10.5  靜態(tài)方法和類方法 150
10.6  迭代器 152
10.7  生成器 153
10.8  裝飾器 154
10.8.1  疊加使用Python裝飾器 154
10.8.2  定義Python裝飾器 154
10.8.3  理解Python函數(shù) 155
10.8.4  理解Python裝飾器 157
10.9  實(shí)戰(zhàn)與演練 158
10.10  本章小結(jié) 159
第二篇  存儲解決方案
第11章  文件和流 163
11.1  打開文件 163
11.2  操作文件的基本方法 164
11.2.1  讀文件和寫文件 165
11.2.2  管道輸出 166
11.2.3  讀行和寫行 167
11.3  使用FileInput對象讀取文件 169
11.4  實(shí)戰(zhàn)與演練 170
11.5  本章小結(jié) 170
第12章  數(shù)據(jù)存儲 171
12.1  處理XML格式的數(shù)據(jù) 171
12.1.1  讀取與搜索XML文件 171
12.1.2  字典轉(zhuǎn)換為XML字符串 172
12.1.3  XML字符串轉(zhuǎn)換為字典 174
12.2  處理JSON格式的數(shù)據(jù) 175
12.2.1  JSON字符串與字典互相轉(zhuǎn)換 175
12.2.2  將JSON字符串轉(zhuǎn)換為類實(shí)例 177
12.2.3  將類實(shí)例轉(zhuǎn)換為JSON字符串 178
12.2.4  類實(shí)例列表與JSON字符串互相轉(zhuǎn)換 179
12.3  將JSON字符串轉(zhuǎn)換為XML字符串 180
12.4  SQLite數(shù)據(jù)庫 180
12.4.1  管理SQLite數(shù)據(jù)庫 181
12.4.2  用Python操作SQLite數(shù)據(jù)庫 183
12.5  MySQL數(shù)據(jù)庫 186
12.6  非關(guān)系型數(shù)據(jù)庫 188
12.6.1  NoSQL簡介 188
12.6.2  MongoDB數(shù)據(jù)庫 188
12.6.3  pymongo模塊 190
12.7  實(shí)戰(zhàn)與演練 191
12.8  本章小結(jié) 192
第三篇  網(wǎng)絡(luò)與并發(fā)
第13章  TCP與UDP編程 195
13.1  套接字 195
13.1.1  建立TCP服務(wù)端 195
13.1.2  服務(wù)端接收數(shù)據(jù)的緩沖區(qū) 199
13.1.3  服務(wù)端的請求隊(duì)列 200
13.1.4  時(shí)間戳服務(wù)端 202
13.1.5  用Socket實(shí)現(xiàn)HTTP服務(wù)器 203
13.1.6  客戶端Socket 206
13.1.7  UDP時(shí)間戳服務(wù)端 207
13.1.8  UDP時(shí)間戳客戶端 208
13.2  socketserver模塊 209
13.2.1  實(shí)現(xiàn)socketserver TCP時(shí)間戳服務(wù)端 209
13.2.2  實(shí)現(xiàn)socketserver TCP時(shí)間戳客戶端 210
13.3  實(shí)戰(zhàn)與演練 211
13.4  本章小結(jié) 212
第14章  網(wǎng)絡(luò)高級編程 213
14.1  urllib3模塊 213
14.1.1  發(fā)送HTTP GET請求 213
14.1.2  發(fā)送HTTP POST請求 214
14.1.3  HTTP請求頭 216
14.1.4  HTTP響應(yīng)頭 218
14.1.5  上傳文件 219
14.1.6  超時(shí) 220
14.2  Twisted框架 222
14.2.1  異步編程模型 222
14.2.2  Reactor(反應(yīng)堆)模式 224
14.2.3  HelloWorld(Twisted框架) 224
14.2.4  用Twisted實(shí)現(xiàn)時(shí)間戳客戶端 226
14.2.5  用Twisted實(shí)現(xiàn)時(shí)間戳服務(wù)端 227
14.3  FTP客戶端 228
14.4  實(shí)戰(zhàn)與演練 230
14.5  本章小結(jié) 230
第15章  線程與協(xié)程 231
15.1  線程與進(jìn)程 231
15.1.1  進(jìn)程 231
15.1.2  線程 231
15.2  Python與線程 232
15.2.1  使用單線程執(zhí)行程序 232
15.2.2  使用多線程執(zhí)行程序 233
15.2.3  為線程函數(shù)傳遞參數(shù) 234
15.2.4  線程和鎖 235
15.3  高級線程模塊(threading) 236
15.3.1  Thread類與線程函數(shù) 236
15.3.2  Thread類與線程對象 237
15.3.3  從Thread類繼承 238
15.4  線程同步 240
15.4.1  線程鎖 240
15.4.2  信號量 242
15.5  協(xié)程 243
15.5.1  同步協(xié)程 244
15.5.2  異步協(xié)程 245
15.6  實(shí)戰(zhàn)與演練 245
15.7  本章小結(jié) 246
第四篇  Python高級技術(shù)
第16章  GUI庫:PyQt6 249
16.1  PyQt6簡介 249
16.2  PyQt6運(yùn)行環(huán)境安裝 250
16.3  編寫個(gè)PyQt6程序 250
16.4  窗口的基本功能 251
16.4.1  窗口圖標(biāo) 251
16.4.2  提示框 251
16.4.3  關(guān)閉窗口 252
16.4.4  消息盒子 253
16.4.5  窗口居中 254
16.5  布局 255
16.5.1  布局 255
16.5.2  盒布局 256
16.5.3  網(wǎng)格布局 257
16.6  控件 258
16.6.1  QPushButton控件 259
16.6.2  QLineEdit控件 261
16.6.3  QCheckBox控件 261
16.6.4  QSlider控件 263
16.6.5  QProgressBar控件 264
16.6.6  QPixmap控件 265
16.6.7  QComboBox控件 266
16.6.8  QCalendarWidget控件 267
16.7  菜單 269
16.8  實(shí)戰(zhàn)與演練 270
16.9  本章小結(jié) 270
第17章  PyQt6游戲項(xiàng)目實(shí)戰(zhàn):俄羅斯方塊 271
17.1  游戲概述 271
17.2  實(shí)現(xiàn)游戲的思路 271
17.3  游戲窗口 272
17.4  創(chuàng)建新的方塊 273
17.5  繪制俄羅斯方塊 274
17.6  響應(yīng)鍵盤動(dòng)作 275
17.7  移動(dòng)和旋轉(zhuǎn)方塊 276
17.8  顯示下一個(gè)俄羅斯方塊 278
17.9  本章小結(jié) 278
第18章  Python游戲引擎:Pygame基礎(chǔ)知識 279
18.1  Pygame入門 279
18.1.1  搭建Pygame開發(fā)環(huán)境 279
18.1.2  使用Pygame 279
18.1.3  顯示文本 281
18.1.4  顯示中文 282
18.1.5  繪制圓 282
18.1.6  繪制矩形 283
18.1.7  繪制直線 284
18.1.8  繪制弧形 285
18.2  鍵盤和鼠標(biāo)事件 286
18.2.1  鍵盤事件 286
18.2.2  鼠標(biāo)事件 287
18.3  實(shí)戰(zhàn)與演練 289
18.4  本章小結(jié) 290
第19章  Python游戲引擎:Pygame高級技術(shù) 291
19.1  圖像處理 291
19.1.1  裝載位圖 291
19.1.2  裝載星空背景 291
19.1.3  顯示和旋轉(zhuǎn)地球 292
19.2  Pygame精靈(Sprite) 293
19.2.1  為Sprite準(zhǔn)備動(dòng)畫素材 294
19.2.2  編寫精靈類 294
19.2.3  裝載Sprite動(dòng)畫資源 295
19.2.4  縮放Sprite 295
19.2.5  繪制幀 296
19.2.6  設(shè)置Sprite動(dòng)畫幀率 296
19.2.7  精靈組 297
19.2.8  實(shí)現(xiàn)不同的幀率 297
19.2.9  完整案例:Sprite演示 299
19.3  碰撞檢測 302
19.3.1  矩形碰撞檢測 302
19.3.2  圓形碰撞檢測 302
19.3.3  遮罩碰撞檢測 303
19.3.4  精靈與組之間的碰撞檢測 304
19.3.5  組與組之間的碰撞檢測 304
19.4  給游戲加上音效 305
19.5  實(shí)戰(zhàn)與演練 307
19.6  本章小結(jié) 308
第20章  Pygame游戲項(xiàng)目實(shí)戰(zhàn):塔防 310
20.1  游戲概述 310
20.2  游戲中需要完成的工作 310
20.3  游戲初始化 310
20.4  展現(xiàn)游戲角色 311
20.5  響應(yīng)鼠標(biāo)和鍵盤事件 312
20.6  碰撞檢測 313
20.7  本章小結(jié) 313
第21章  網(wǎng)絡(luò)爬蟲與Beautiful Soup 314
21.1  網(wǎng)絡(luò)爬蟲基礎(chǔ) 314
21.1.1  爬蟲分類 314
21.1.2  編寫第1個(gè)網(wǎng)絡(luò)爬蟲 315
21.1.3  保存抓取的數(shù)據(jù) 318
21.1.4  從百度抓取海量比基尼美女圖片 319
21.2  HTML分析庫:Beautiful Soup 323
21.2.1  如何使用Beautiful Soup 323
21.2.2  Tag對象的name和string屬性 324
21.2.3  讀寫標(biāo)簽屬性 325
21.2.4  用Beautiful Soup分析商城首頁的HTML代碼 327
21.2.5  通過回調(diào)函數(shù)過濾標(biāo)簽 328
21.3  實(shí)戰(zhàn)與演練 328
21.4  本章小結(jié) 329
第22章  Python辦公自動(dòng)化 330
22.1  Python與Excel交互 330
22.1.1  Python為什么要與Office交互 330
22.1.2  Python與Office交互的各種技術(shù) 330
22.1.3  安裝openpyxl 331
22.1.4  創(chuàng)建和保存Workbook 331
22.1.5  讀取Excel文檔 332
22.1.6  獲取和設(shè)置單元格中的值 333
22.1.7  插入和刪除行 334
22.1.8  插入和刪除列 335
22.1.9  訪問多個(gè)單元格 336
22.1.10  改變行高和列寬 337
22.1.11  設(shè)置單元格文字顏色、字體和背景色 338
22.1.12  使用公式 339
22.1.13  向Excel文檔插入圖像 340
22.1.14  格式化數(shù)字和日期 340
22.1.15  合并單元格和取消單元格合并 341
22.1.16  Excel與Pandas結(jié)合 342
22.2  Python與Word交互 343
22.2.1  讀取Word文檔的段落 343
22.2.2  獲取段落中的樣式文本 344
22.2.3  設(shè)置文本的樣式 344
22.2.4  向Word文檔添加文本 344
22.2.5  向Word文檔添加標(biāo)題 345
22.2.6  添加換頁符 345
22.2.7  在Word文檔中插入圖像 346
22.2.8  將Word文檔轉(zhuǎn)換為PDF文檔 346
22.3  Python與PowerPoint交互 347
22.3.1  讀取幻燈片中的文本 347
22.3.2  獲取某一頁幻燈片中的文本 348
22.3.3  新建幻燈片 348
22.3.4  為幻燈片添加一個(gè)文本框 348
22.3.5  向幻燈片添加圖像 349
22.4  Python與PDF交互 349
22.4.1  讀取PDF文檔的文本 349
22.4.2  創(chuàng)建PDF文檔 350
22.5  實(shí)戰(zhàn)與演練 350
22.6  本章小結(jié) 351
第23章  Python爬蟲項(xiàng)目實(shí)戰(zhàn):抓取網(wǎng)絡(luò)數(shù)據(jù)和圖片 352
23.1  網(wǎng)絡(luò)庫requests 352
23.1.1  requests的HelloWorld 352
23.1.2  HTTP GET請求 353
23.1.3  添加HTTP請求頭 353
23.1.4  抓取二進(jìn)制數(shù)據(jù) 354
23.1.5  HTTP POST請求 354
23.1.6  響應(yīng)數(shù)據(jù) 355
23.2  項(xiàng)目1:抓取酷狗紅歌榜 356
23.2.1  項(xiàng)目分析 356
23.2.2  項(xiàng)目的完整實(shí)現(xiàn) 357
23.3  項(xiàng)目2:抓取金字塔圖片,并保存為Excel文檔 358
23.3.1  項(xiàng)目分析 359
23.3.2  webp轉(zhuǎn)換為jpg格式 359
23.3.3  項(xiàng)目的完整實(shí)現(xiàn) 359
23.4  本章小結(jié) 362
第24章  Python Web框架:Django 363
24.1  Django安裝環(huán)境搭建 363
24.2  Django基礎(chǔ)知識 363
24.2.1  建立個(gè)Django工程 363
24.2.2  Django工程結(jié)構(gòu)分析 365
24.2.3  遠(yuǎn)程訪問與端口號 365
24.2.4  用PyCharm建立Django工程 366
24.2.5  添加路由 367
24.2.6  處理HTTP請求 368
24.2.7  Response與Cookie 370
24.2.8  讀寫Session 372
24.2.9  用戶登錄 373
24.2.10  靜態(tài)文件 375
24.3  Django模板 377
24.3.1  編寫個(gè)基于Django模板的應(yīng)用 377
24.3.2  條件控制標(biāo)簽 378
24.3.3  循環(huán)控制標(biāo)簽 379
24.3.4  過濾器 380
24.4  實(shí)戰(zhàn)與演練 382
24.5  本章小結(jié) 382
第25章  Python Web項(xiàng)目實(shí)戰(zhàn):基于Django的58同城網(wǎng)站 383
25.1  項(xiàng)目演示 383
25.2  操作MySQL數(shù)據(jù)庫 384
25.3  賬號 385
25.3.1  用戶注冊 385
25.3.2  用戶登錄 386
25.4  招聘頁面 388
25.5  二手車頁面 390
25.6  本章小結(jié) 392
第26章  Python擴(kuò)展學(xué)習(xí) 393
26.1  用Python控制鼠標(biāo)和鍵盤 393
26.1.1  獲取鼠標(biāo)的位置 393
26.1.2  實(shí)時(shí)獲取鼠標(biāo)的位置 393
26.1.3  移動(dòng)和拖動(dòng)鼠標(biāo) 394
26.1.4  模擬單擊和雙擊鼠標(biāo) 394
26.1.5  模擬按鍵 395
26.1.6  模擬鍵盤輸入 395
26.2  Python與C/C 交互 395
26.2.1  Python通過cffi調(diào)用C/C 動(dòng)態(tài)庫 396
26.2.2  Python通過cython調(diào)用C/C 動(dòng)態(tài)庫 396
26.3  制作Python安裝程序 397
26.4  實(shí)戰(zhàn)與演練 397
26.5  本章小結(jié) 398

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號