內容簡介
本書從初學者學習角度出發,通過四個部分:Python 編程基礎、大家一起來編程、編程進階、程式調試與資料庫,全面講解了 Python 的編程基礎、軟體結構、常用模組等編程知識以及基於 Python 編程的多個遊戲綜合設計實例,同時也介紹了 Python 文本操作與資料庫的有關技巧,不僅適於初學者入門,也利於 Python 開發者全面提高技能。
本書可供 Python 編程愛好者、初學者學習使用,也適合作為中學生“信息技術”課程的配套閱讀資料,同時也可作為創客教育機構的教學用書。
目錄
第一部分 Python編程基礎
第1章 Python安裝
1.1 搭建編程環境 / 2
1.2 不同作業系統中搭建Python編程環境 / 3
1.2.1 電腦上安裝Python / 3
1.2.2 在蘋果OSX上安裝Python / 4
1.2.3 在Linux系統上安裝Python / 4
第2章 Python入門基礎
▼ 視頻講解
2.1 在互動式環境中輸入表達式 / 6
2.2 整型、浮點型和字元串數據類型 / 9
2.2.1 改變類型 / 10
2.2.2 得到更多信息:type( ) / 12
2.2.3 類型轉換錯誤 / 12
2.3 字元串連線和複製 / 12
2.4 在變數中保存值 / 13
2.5 第一個程式 / 13
2.6 程式剖析 / 17
2.6.1 注釋 / 17
2.6.2 print( )函式 / 17
2.7 編程實例 / 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 程式執行 / 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循環和range( )函式 / 32
3.8 導入模組 / 35
3.9 用sys.exit( )提前結束程式 / 36
3.10 編程實例 / 36
第4章 函式
▼ 視頻講解
4.1 def語句和參數 / 37
4.1.1 創建一個函式 / 37
4.1.2 參數 / 38
4.2 返回值和return語句 / 41
4.3 None值 / 42
4.4 關鍵字參數和print( ) / 43
4.5 局部和全局作用域 / 43
4.6 global語句 / 46
4.7 異常處理 / 48
4.8 一個小程式:猜數字 / 50
4.9 編程實例 / 52
4.9.1 Collatz序列 / 52
4.9.2 輸入驗證 / 52
第5章 列表
▼ 視頻講解
5.1 列表數據類型 / 53
5.1.1 創建列表 / 54
5.1.2 向列表增加元素 / 54
5.2 使用列表 / 55
5.2.1 從列表中獲取內容 / 55
5.2.2 列表“分片” / 56
5.2.3 修改元素 / 57
5.2.4 向列表增加元素的其他辦法 / 58
5.2.5 從列表中刪除元素 / 59
5.2.6 搜尋列表 / 60
5.2.7 循環處理列表 / 62
5.2.8 列表排序 / 62
5.2.9 雙重列表:數據表 / 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 可變和不可變數據類型 / 71
5.6.2 元組數據類型 / 72
5.6.3 用list( )和tuple( )函式來轉換類型 / 73
5.7 引用 / 74
5.7.1 傳遞引用 / 75
5.7.2 copy模組的copy( )和deepcopy( )函式 / 76
5.8 編程實例 / 77
5.8.1 逗號代碼 / 77
5.8.2 字元圖格線 / 77
第6章 字典和結構化數據
▼ 視頻講解
6.1 字典數據類型 / 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 編程實例 / 84
第7章 字元串操作
▼ 視頻講解
7.1 處理字元串 / 86
7.1.1 字元串字面量 / 86
7.1.2 雙引號 / 86
7.1.3 轉義字元 / 87
7.1.4 原始字元串 / 87
7.1.5 用三重引號的多行字元串 / 88
7.1.6 井號字元(#) / 88
7.1.7 字元串下標和切片 / 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( )方法對齊文本 / 94
7.2.6 用strip( )、rstrip( )和lstrip( )刪除空白字元 / 95
7.2.7 用pyperclip模組拷貝貼上字元串 / 96
7.3 編程實例 / 97
項目1:口令保管箱 / 97
項目2:在Wiki標記中添加無序列表 / 98
第8章 Python常用模組
▼ 視頻講解
8.1 使用copy模組來複製 / 101
8.2 keyword模組記錄了所有的關鍵字 / 105
8.3 用random模組獲得隨機數 / 105
8.3.1 用randint來隨機挑選一個數字 / 106
8.3.2 用choice從列表中隨機選取一個元素 / 107
8.3.3 用shuffle來給列表洗牌 / 107
8.4 用sys模組來控制程式 / 108
8.4.1 用exit函式來退出程式 / 108
8.4.2 從stdin對象讀取 / 108
8.4.3 用stdout對象來寫入 / 108
8.4.4 用的Python版本 / 109
8.5 用time模組來得到時間 / 109
8.5.1 用asctime來轉換日期 / 112
8.5.2 用localtime來得到日期和時間 / 112
8.5.3 用sleep來休息一會兒 / 113
8.6 用pickle模組來保存信息 / 114
8.7 編程小測驗 / 115
第9章 海龜作圖
▼ 視頻講解
9.1 海龜模組 / 117
9.1.1 創建畫布 / 117
9.1.2 移動海龜 / 118
9.2 從基本的正方形開始 / 122
9.3 畫星星 / 122
9.4 畫汽車 / 124
9.5 填色 / 126
9.5.1 用來畫填色圓形的函式 / 126
9.5.2 使用純白和純黑 / 129
9.6 畫方形的函式 / 129
9.7 畫填色正方形 / 130
9.8 畫填好色的星星 / 132
9.9 編程實例 / 133
第二部分 大家一起來編程
第10章 動手操作
▼ 視頻講解
10.1 三道小測試 / 136
10.2 從手指到計算機 / 137
10.3 GUI——圖形用戶界面 / 142
10.3.1 什麼是GUI / 143
10.3.2 第一個GUI / 143
10.3.3 GUI輸入 / 144
10.3.4 選擇自己的口味 / 145
10.3.5 猜數字遊戲 / 148
10.3.6 其他GUI組件 / 149
10.4 給數字起名字 / 150
10.5 發現循環的秘密 / 153
10.6 與循環講條件 / 155
10.7 使用函式做計算 / 156
10.8 自己也能做動畫 / 158
第11章 遊戲初體驗學用書
▼ 視頻講解
11.1 Pygame的用戶界面 / 161
11.1.1 從一個點開始 / 162
11.1.2 Pygame和海龜圖 / 163
11.1.3 遊戲相關 / 164
11.2 移動和彈跳 / 167
11.2.1 讓笑臉移動起來 / 167
11.2.2 實現笑臉動畫 / 170
11.2.3 使笑臉彈跳起來 / 171
11.2.4 來回彈跳的笑臉 / 176
11.3 小結 / 179
第12章 互動式遊戲
▼ 視頻講解
12.1 點擊和拖動 / 181
12.1.1 點擊 / 181
12.1.2 利用拖動進行繪製 / 183
12.2 笑臉爆炸 / 186
12.2.1 笑臉精靈 / 186
12.2.2 設定精靈 / 188
12.2.3 更新位置 / 189
12.2.4 設定大小 / 190
12.2.5 實際程式 / 190
12.3 點破氣球 / 192
12.3.1 檢測碰撞和刪除對象 / 192
12.3.2 實際程式 / 193
12.4 小結 / 194
第三部分 編程進階
第13章 彈球遊戲
▼ 視頻講解
13.1 構建遊戲框架 / 198
13.1.1 繪製遊戲部件 / 199
13.1.2 記錄分數 / 200
13.1.3 顯示得分 / 203
13.1.4 實際程式 / 204
13.2 完善遊戲 / 206
13.2.1 遊戲結束 / 206
13.2.2 重新開始 / 207
13.2.3 增加難度 / 207
13.2.4 實際程式 / 209
13.3 增加更多特效 / 210
13.3.1 增加聲音 / 210
13.3.2 存儲遊戲進度 / 211
13.3.3 實際程式 / 213
13.4 小結 / 215
第14章 大戰外星人
▼ 視頻講解
14.1 規則項目 / 217
14.2 安裝Pygame / 218
14.3 構建飛船 / 218
14.3.1 開始遊戲項目 / 218
14.3.2 添加飛船圖像 / 221
14.3.3 重構:模組game_functions / 224
14.4 駕駛飛船 / 226
14.4.1 回響按鍵 / 226
14.4.2 允許不斷移動 / 228
14.4.3 左右移動 / 229
14.4.4 調整飛船的速度 / 231
14.4.5 限制飛船的活動範圍 / 233
14.4.6 重構check_events( ) / 234
14.5 開炮射擊 / 235
14.5.1 添加子彈設定 / 235
14.5.2 創建Bullet_shoot類 / 235
14.5.3 將子彈存儲到編組中 / 236
14.5.4 開火 / 237
14.5.5 刪除已消失的子彈 / 239
14.5.6 限制子彈數量 / 239
14.5.7 創建函式update_bullets( ) / 241
14.5.8 創建函式fire_bullet( ) / 242
14.6 創建一個外星人 / 243
14.6.1 創建Alien類 / 244
14.6.2 創建Alien實例 / 244
14.6.3 讓外星人出現在螢幕上 / 245
14.7 創建一群外星人 / 246
14.7.1 確定一行可容納多少個外星人 / 246
14.7.2 創建多行外星人 / 246
14.7.3 創建外星人群 / 247
14.7.4 重構 / 250
14.7.5 添加行 / 250
14.8 移動外星人群 / 253
14.8.1 向右移動外星人 / 253
14.8.2 創建表示外星人移動方向的設定 / 255
14.8.3 螢幕邊緣判斷 / 256
14.8.4 向下移動外星人群並改變移動方向 / 257
14.9 擊落外星人 / 258
14.9.1 檢測子彈與外星人的碰撞 / 259
14.9.2 為測試創建大子彈 / 260
14.9.3 生成新的外星人群 / 262
14.9.4 提高子彈的速度 / 263
14.9.5 重構update_bullets( ) / 263
14.10 遊戲結束 / 264
14.10.1 檢測外星人和飛船碰撞 / 264
14.10.2 回響碰撞 / 266
14.10.3 有外星人到達螢幕底端 / 269
14.10.4 遊戲結束 / 270
14.11 確定應運行的部分 / 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 準備圖形 / 279
15.1.2 畫火柴人 / 280
15.1.3 畫平台 / 282
15.1.4 畫門 / 282
15.1.5 畫背景 / 283
15.1.6 透明 / 284
15.2 開始開發遊戲 / 284
15.2.1 創建Game類 / 284
15.2.2 創建坐標類 / 288
15.2.3 衝突檢測 / 289
15.2.4 創建精靈類 / 292
15.2.5 添加平台類 / 293
15.3 創建火柴人 / 295
15.3.1 初始化火柴人 / 295
15.3.2 讓火柴向左轉和向右轉 / 298
15.3.3 讓火柴人跳躍 / 298
15.3.4 回顧一下 / 299
15.4 火柴人逃生 / 300
15.4.1 創建動畫函式 / 300
15.4.2 測試火柴精靈 / 309
15.4.3 門 / 310
15.4.4 最終的遊戲 / 312
第四部分 程式調試與資料庫
第16章 Python基本檔案操作
▼ 視頻講解
16.1 創建和打開檔案 / 316
16.1.1 整個檔案讀取 / 318
16.1.2 檔案路徑 / 320
16.1.3 逐行讀取 / 321
16.1.4 讀取指定字元 / 322
16.1.5 打開檔案時使用with語句 / 324
16.2 關閉檔案 / 325
16.3 寫入檔案內容 / 325
16.3.1 寫入空檔案 / 325
16.3.2 寫入多行 / 326
16.3.3 附加到檔案 / 327
16.4 刪除檔案 / 328
16.5 檔案重命名 / 329
第17章 程式調試
▼ 視頻講解
17.1 異常(錯誤) / 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 程式調試 / 338
17.3.1 用Python自帶的IDLE進行程式調試 / 338
17.3.2 用assert語句調試程式 / 342
第18章 資料庫基本操作
▼ 視頻講解
18.1 資料庫編程接口 / 344
18.1.1 連線對象 / 344
18.1.2 游標對象 / 345
18.2 SQLite / 346
18.2.1 資料庫檔案創建 / 346
18.2.2 SQLite操作 / 347
18.3 使用MySQL / 351
18.3.1 下載安裝MySQL / 351
18.3.2 安裝PyMySQL / 355
18.3.3 資料庫連線 / 355
18.3.4 數據表創建 / 356
18.3.5 數據表操作 / 357