零基礎(chǔ)Python編程入門與實(shí)戰(zhàn)
定 價(jià):99 元
- 作者:吳晶晶 主編
- 出版時(shí)間:2020/5/1
- ISBN:9787122349231
- 出 版 社:化學(xué)工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:358
- 紙張:
- 版次:01
- 開本:16開
本書從初學(xué)者學(xué)習(xí)角度出發(fā),通過四個(gè)部分:Python 編程基礎(chǔ)、大家一起來編程、編程進(jìn)階、程序調(diào)試與數(shù)據(jù)庫,全面講解了 Python 的編程基礎(chǔ)、軟件結(jié)構(gòu)、常用模塊等編程知識(shí)以及基于 Python 編程的多個(gè)游戲綜合設(shè)計(jì)實(shí)例,同時(shí)也介紹了 Python 文本操作與數(shù)據(jù)庫的有關(guān)技巧,不僅適于初學(xué)者入門,也利于 Python 開發(fā)者全面提高技能。
書中每一章都有配套教學(xué)視頻,詳細(xì)講解操作步驟、編程技巧和注意事項(xiàng),讀者可以掃描每一章的二維碼詳細(xì)、直觀學(xué)習(xí),如同老師現(xiàn)場指導(dǎo)。
本書可供 Python 編程愛好者、初學(xué)者學(xué)習(xí)使用,也適合作為中學(xué)生“信息技術(shù)”課程的配套閱讀資料,同時(shí)也可作為創(chuàng)客教育機(jī)構(gòu)的教學(xué)用書。
第一部分 Python編程基礎(chǔ)
第1章 Python安裝
1.1 搭建編程環(huán)境 / 2
1.2 不同操作系統(tǒng)中搭建Python編程環(huán)境 / 3
1.2.1 電腦上安裝Python / 3
1.2.2 在蘋果OSX上安裝Python / 4
1.2.3 在Linux系統(tǒng)上安裝Python / 4
第2章 Python入門基礎(chǔ)
▼ 視頻講解
2.1 在交互式環(huán)境中輸入表達(dá)式 / 6
2.2 整型、浮點(diǎn)型和字符串?dāng)?shù)據(jù)類型 / 9
2.2.1 改變類型 / 10
2.2.2 得到更多信息:type( ) / 12
2.2.3 類型轉(zhuǎn)換錯(cuò)誤 / 12
2.3 字符串連接和復(fù)制 / 12
2.4 在變量中保存值 / 13
2.5 第一個(gè)程序 / 13
2.6 程序剖析 / 17
2.6.1 注釋 / 17
2.6.2 print( )函數(shù) / 17
2.7 編程實(shí)例 / 18
第3章 控制流
▼ 視頻講解
3.1 布爾值 / 20
3.2 比較操作符 / 20
3.3 布爾操作符 / 21
3.3.1 二元布爾操作符 / 22
3.3.2 not操作符 / 22
3.4 混合布爾和比較操作符 / 23
3.5 控制流的元素 / 23
3.5.1 條件 / 23
3.5.2 代碼塊 / 23
3.6 程序執(zhí)行 / 24
3.7 控制流語句 / 24
3.7.1 if語句 / 24
3.7.2 else語句 / 25
3.7.3 elif語句 / 26
3.7.4 while語句 / 28
3.7.5 Break語句 / 30
3.7.6 continue語句 / 31
3.7.7 for循環(huán)和range( )函數(shù) / 32
3.8 導(dǎo)入模塊 / 35
3.9 用sys.exit( )提前結(jié)束程序 / 36
3.10 編程實(shí)例 / 36
第4章 函數(shù)
▼ 視頻講解
4.1 def語句和參數(shù) / 37
4.1.1 創(chuàng)建一個(gè)函數(shù) / 37
4.1.2 參數(shù) / 38
4.2 返回值和return語句 / 41
4.3 None值 / 42
4.4 關(guān)鍵字參數(shù)和print( ) / 43
4.5 局部和全局作用域 / 43
4.6 global語句 / 46
4.7 異常處理 / 48
4.8 一個(gè)小程序:猜數(shù)字 / 50
4.9 編程實(shí)例 / 52
4.9.1 Collatz序列 / 52
4.9.2 輸入驗(yàn)證 / 52
第5章 列表
▼ 視頻講解
5.1 列表數(shù)據(jù)類型 / 53
5.1.1 創(chuàng)建列表 / 54
5.1.2 向列表增加元素 / 54
5.2 使用列表 / 55
5.2.1 從列表中獲取內(nèi)容 / 55
5.2.2 列表“分片” / 56
5.2.3 修改元素 / 57
5.2.4 向列表增加元素的其他辦法 / 58
5.2.5 從列表中刪除元素 / 59
5.2.6 搜索列表 / 60
5.2.7 循環(huán)處理列表 / 62
5.2.8 列表排序 / 62
5.2.9 雙重列表:數(shù)據(jù)表 / 64
5.3 增加的賦值操作 / 65
5.4 方法 / 66
5.4.1 用index( )方法在列表中查找值 / 66
5.4.2 用append( )和insert( )方法在列表中添加值 / 67
5.4.3 用remove( )方法從列表中刪除值 / 67
5.4.4 用sort( )方法將列表中的值排序 / 68
5.5 例子程序:神奇8球和列表 / 69
5.6 類似列表的類型:字符串和元組 / 70
5.6.1 可變和不可變數(shù)據(jù)類型 / 71
5.6.2 元組數(shù)據(jù)類型 / 72
5.6.3 用list( )和tuple( )函數(shù)來轉(zhuǎn)換類型 / 73
5.7 引用 / 74
5.7.1 傳遞引用 / 75
5.7.2 copy模塊的copy( )和deepcopy( )函數(shù) / 76
5.8 編程實(shí)例 / 77
5.8.1 逗號(hào)代碼 / 77
5.8.2 字符圖網(wǎng)格 / 77
第6章 字典和結(jié)構(gòu)化數(shù)據(jù)
▼ 視頻講解
6.1 字典數(shù)據(jù)類型 / 78
6.1.1 字典與列表 / 78
6.1.2 keys( )、values( )和items( )方法 / 80
6.1.3 檢查字典中是否存在鍵或值 / 81
6.1.4 get( )方法 / 81
6.1.5 setdefault( )方法 / 82
6.2 漂亮打印 / 83
6.3 編程實(shí)例 / 84
第7章 字符串操作
▼ 視頻講解
7.1 處理字符串 / 86
7.1.1 字符串字面量 / 86
7.1.2 雙引號(hào) / 86
7.1.3 轉(zhuǎn)義字符 / 87
7.1.4 原始字符串 / 87
7.1.5 用三重引號(hào)的多行字符串 / 88
7.1.6 井號(hào)字符(#) / 88
7.1.7 字符串下標(biāo)和切片 / 89
7.1.8 字符串的in和not in操作符 / 89
7.2 有用的字符串方法 / 90
7.2.1 字符串方法upper( )、lower( )、isupper( )和islower( ) / 90
7.2.2 isX字符串方法 / 91
7.2.3 字符串方法startswith( )和endswith( ) / 93
7.2.4 字符串方法join( )和split( ) / 93
7.2.5 用rjust( )、ljust( )和center( )方法對(duì)齊文本 / 94
7.2.6 用strip( )、rstrip( )和lstrip( )刪除空白字符 / 95
7.2.7 用pyperclip模塊拷貝粘貼字符串 / 96
7.3 編程實(shí)例 / 97
項(xiàng)目1:口令保管箱 / 97
項(xiàng)目2:在Wiki標(biāo)記中添加無序列表 / 98
第8章 Python常用模塊
▼ 視頻講解
8.1 使用copy模塊來復(fù)制 / 101
8.2 keyword模塊記錄了所有的關(guān)鍵字 / 105
8.3 用random模塊獲得隨機(jī)數(shù) / 105
8.3.1 用randint來隨機(jī)挑選一個(gè)數(shù)字 / 106
8.3.2 用choice從列表中隨機(jī)選取一個(gè)元素 / 107
8.3.3 用shuffle來給列表洗牌 / 107
8.4 用sys模塊來控制程序 / 108
8.4.1 用exit函數(shù)來退出程序 / 108
8.4.2 從stdin對(duì)象讀取 / 108
8.4.3 用stdout對(duì)象來寫入 / 108
8.4.4 用的Python版本 / 109
8.5 用time模塊來得到時(shí)間 / 109
8.5.1 用asctime來轉(zhuǎn)換日期 / 112
8.5.2 用localtime來得到日期和時(shí)間 / 112
8.5.3 用sleep來休息一會(huì)兒 / 113
8.6 用pickle模塊來保存信息 / 114
8.7 編程小測驗(yàn) / 115
第9章 海龜作圖
▼ 視頻講解
9.1 海龜模塊 / 117
9.1.1 創(chuàng)建畫布 / 117
9.1.2 移動(dòng)海龜 / 118
9.2 從基本的正方形開始 / 122
9.3 畫星星 / 122
9.4 畫汽車 / 124
9.5 填色 / 126
9.5.1 用來畫填色圓形的函數(shù) / 126
9.5.2 使用純白和純黑 / 129
9.6 畫方形的函數(shù) / 129
9.7 畫填色正方形 / 130
9.8 畫填好色的星星 / 132
9.9 編程實(shí)例 / 133
第二部分 大家一起來編程
第10章 動(dòng)手操作
▼ 視頻講解
10.1 三道小測試 / 136
10.2 從手指到計(jì)算機(jī) / 137
10.3 GUI——圖形用戶界面 / 142
10.3.1 什么是GUI / 143
10.3.2 第一個(gè)GUI / 143
10.3.3 GUI輸入 / 144
10.3.4 選擇自己的口味 / 145
10.3.5 猜數(shù)字游戲 / 148
10.3.6 其他GUI組件 / 149
10.4 給數(shù)字起名字 / 150
10.5 發(fā)現(xiàn)循環(huán)的秘密 / 153
10.6 與循環(huán)講條件 / 155
10.7 使用函數(shù)做計(jì)算 / 156
10.8 自己也能做動(dòng)畫 / 158
第11章 游戲初體驗(yàn)學(xué)用書
▼ 視頻講解
11.1 Pygame的用戶界面 / 161
11.1.1 從一個(gè)點(diǎn)開始 / 162
11.1.2 Pygame和海龜圖 / 163
11.1.3 游戲相關(guān) / 164
11.2 移動(dòng)和彈跳 / 167
11.2.1 讓笑臉移動(dòng)起來 / 167
11.2.2 實(shí)現(xiàn)笑臉動(dòng)畫 / 170
11.2.3 使笑臉彈跳起來 / 171
11.2.4 來回彈跳的笑臉 / 176
11.3 小結(jié) / 179
第12章 互動(dòng)式游戲
▼ 視頻講解
12.1 點(diǎn)擊和拖動(dòng) / 181
12.1.1 點(diǎn)擊 / 181
12.1.2 利用拖動(dòng)進(jìn)行繪制 / 183
12.2 笑臉爆炸 / 186
12.2.1 笑臉精靈 / 186
12.2.2 設(shè)置精靈 / 188
12.2.3 更新位置 / 189
12.2.4 設(shè)置大小 / 190
12.2.5 實(shí)際程序 / 190
12.3 點(diǎn)破氣球 / 192
12.3.1 檢測碰撞和刪除對(duì)象 / 192
12.3.2 實(shí)際程序 / 193
12.4 小結(jié) / 194
第三部分 編程進(jìn)階
第13章 彈球游戲
▼ 視頻講解
13.1 構(gòu)建游戲框架 / 198
13.1.1 繪制游戲部件 / 199
13.1.2 記錄分?jǐn)?shù) / 200
13.1.3 顯示得分 / 203
13.1.4 實(shí)際程序 / 204
13.2 完善游戲 / 206
13.2.1 游戲結(jié)束 / 206
13.2.2 重新開始 / 207
13.2.3 增加難度 / 207
13.2.4 實(shí)際程序 / 209
13.3 增加更多特效 / 210
13.3.1 增加聲音 / 210
13.3.2 存儲(chǔ)游戲進(jìn)度 / 211
13.3.3 實(shí)際程序 / 213
13.4 小結(jié) / 215
第14章 大戰(zhàn)外星人
▼ 視頻講解
14.1 規(guī)則項(xiàng)目 / 217
14.2 安裝Pygame / 218
14.3 構(gòu)建飛船 / 218
14.3.1 開始游戲項(xiàng)目 / 218
14.3.2 添加飛船圖像 / 221
14.3.3 重構(gòu):模塊game_functions / 224
14.4 駕駛飛船 / 226
14.4.1 響應(yīng)按鍵 / 226
14.4.2 允許不斷移動(dòng) / 228
14.4.3 左右移動(dòng) / 229
14.4.4 調(diào)整飛船的速度 / 231
14.4.5 限制飛船的活動(dòng)范圍 / 233
14.4.6 重構(gòu)check_events( ) / 234
14.5 開炮射擊 / 235
14.5.1 添加子彈設(shè)置 / 235
14.5.2 創(chuàng)建Bullet_shoot類 / 235
14.5.3 將子彈存儲(chǔ)到編組中 / 236
14.5.4 開火 / 237
14.5.5 刪除已消失的子彈 / 239
14.5.6 限制子彈數(shù)量 / 239
14.5.7 創(chuàng)建函數(shù)update_bullets( ) / 241
14.5.8 創(chuàng)建函數(shù)fire_bullet( ) / 242
14.6 創(chuàng)建一個(gè)外星人 / 243
14.6.1 創(chuàng)建Alien類 / 244
14.6.2 創(chuàng)建Alien實(shí)例 / 244
14.6.3 讓外星人出現(xiàn)在屏幕上 / 245
14.7 創(chuàng)建一群外星人 / 246
14.7.1 確定一行可容納多少個(gè)外星人 / 246
14.7.2 創(chuàng)建多行外星人 / 246
14.7.3 創(chuàng)建外星人群 / 247
14.7.4 重構(gòu) / 250
14.7.5 添加行 / 250
14.8 移動(dòng)外星人群 / 253
14.8.1 向右移動(dòng)外星人 / 253
14.8.2 創(chuàng)建表示外星人移動(dòng)方向的設(shè)置 / 255
14.8.3 屏幕邊緣判斷 / 256
14.8.4 向下移動(dòng)外星人群并改變移動(dòng)方向 / 257
14.9 擊落外星人 / 258
14.9.1 檢測子彈與外星人的碰撞 / 259
14.9.2 為測試創(chuàng)建大子彈 / 260
14.9.3 生成新的外星人群 / 262
14.9.4 提高子彈的速度 / 263
14.9.5 重構(gòu)update_bullets( ) / 263
14.10 游戲結(jié)束 / 264
14.10.1 檢測外星人和飛船碰撞 / 264
14.10.2 響應(yīng)碰撞 / 266
14.10.3 有外星人到達(dá)屏幕底端 / 269
14.10.4 游戲結(jié)束 / 270
14.11 確定應(yīng)運(yùn)行的部分 / 271
14.12 最終的游戲 / 272
14.12.1 invasion_alien.py / 272
14.12.2 game_functions.py / 273
14.12.3 game_settings.py / 275
14.12.4 game_ship.py / 275
14.12.5 game_alien.py / 276
14.12.6 game_stats.py / 277
14.12.7 bullet.py / 277
第15章 火柴人游戲
▼ 視頻講解
15.1 游戲所需圖形 / 278
15.1.1 準(zhǔn)備圖形 / 279
15.1.2 畫火柴人 / 280
15.1.3 畫平臺(tái) / 282
15.1.4 畫門 / 282
15.1.5 畫背景 / 283
15.1.6 透明 / 284
15.2 開始開發(fā)游戲 / 284
15.2.1 創(chuàng)建Game類 / 284
15.2.2 創(chuàng)建坐標(biāo)類 / 288
15.2.3 沖突檢測 / 289
15.2.4 創(chuàng)建精靈類 / 292
15.2.5 添加平臺(tái)類 / 293
15.3 創(chuàng)建火柴人 / 295
15.3.1 初始化火柴人 / 295
15.3.2 讓火柴向左轉(zhuǎn)和向右轉(zhuǎn) / 298
15.3.3 讓火柴人跳躍 / 298
15.3.4 回顧一下 / 299
15.4 火柴人逃生 / 300
15.4.1 創(chuàng)建動(dòng)畫函數(shù) / 300
15.4.2 測試火柴精靈 / 309
15.4.3 門 / 310
15.4.4 最終的游戲 / 312
第四部分 程序調(diào)試與數(shù)據(jù)庫
第16章 Python基本文件操作
▼ 視頻講解
16.1 創(chuàng)建和打開文件 / 316
16.1.1 整個(gè)文件讀取 / 318
16.1.2 文件路徑 / 320
16.1.3 逐行讀取 / 321
16.1.4 讀取指定字符 / 322
16.1.5 打開文件時(shí)使用with語句 / 324
16.2 關(guān)閉文件 / 325
16.3 寫入文件內(nèi)容 / 325
16.3.1 寫入空文件 / 325
16.3.2 寫入多行 / 326
16.3.3 附加到文件 / 327
16.4 刪除文件 / 328
16.5 文件重命名 / 329
第17章 程序調(diào)試
▼ 視頻講解
17.1 異常(錯(cuò)誤) / 331
17.2 異常處理語句 / 333
17.2.1 try...except語句 / 333
17.2.2 try...except...else語句 / 335
17.2.3 try...except...finally語句 / 336
17.2.4 使用raise語句拋出異!/ 337
17.3 程序調(diào)試 / 338
17.3.1 用Python自帶的IDLE進(jìn)行程序調(diào)試 / 338
17.3.2 用assert語句調(diào)試程序 / 342
第18章 數(shù)據(jù)庫基本操作
▼ 視頻講解
18.1 數(shù)據(jù)庫編程接口 / 344
18.1.1 連接對(duì)象 / 344
18.1.2 游標(biāo)對(duì)象 / 345
18.2 SQLite / 346
18.2.1 數(shù)據(jù)庫文件創(chuàng)建 / 346
18.2.2 SQLite操作 / 347
18.3 使用MySQL / 351
18.3.1 下載安裝MySQL / 351
18.3.2 安裝PyMySQL / 355
18.3.3 數(shù)據(jù)庫連接 / 355
18.3.4 數(shù)據(jù)表創(chuàng)建 / 356
18.3.5 數(shù)據(jù)表操作 / 357