本書整理了Python語言面向初學者的幾乎所有基礎知識點,并對這些知識做了一定程度的拓展與提高。本書內容不僅包括有助于理解基本知識點的案例代碼,還包含了經(jīng)典數(shù)學問題等方面的項目,以及如何用Python開發(fā)音樂播放器以及彈球游戲等項目。
這是一本交互性極強的書,書中提供了大量的代碼練習,包括代碼填空、代碼閱讀、代碼設計以及總結歸納等,有助于形成一定的編程思維模式,快速、牢固地掌握Python編程方法與技巧。本書配備部分視頻講解,掃二維碼觀看視頻即可同步學習書中的核心知識及重點內容。
本書適合中小學生以及其他編程初學者學習使用,也適合想陪小朋友一起學習Python編程的家長閱讀使用,同時可作為相關培訓機構的參考用書。
林松生, 2002年于北京工商大學信息管理專業(yè)本科畢業(yè),2003年~2009年供職于中國科技信息研究所,參與創(chuàng)辦了國內面向青少年的信息素養(yǎng)提升課程——《信息溯源》(光盤),參與創(chuàng)辦了國內關于數(shù)字圖書館的雜志——《數(shù)字圖書館論壇》。 2009年于廣州創(chuàng)業(yè),從事青少年信息素養(yǎng)、信息技能方面的培訓業(yè)務,也是國內早期創(chuàng)辦面向中小學生、學校提供信息素養(yǎng)、信息技能、編程技能培訓服務的機構。10余年的發(fā)展形成了包含《中小學信息素養(yǎng)及批判性思維課程》《scratch編程課程》《青少年python編程基礎課程》《信息奧賽課程》《中小學生算法啟蒙課程》《中小學生編程啟蒙課程》等,累計培訓在校信息技術老師2000余人,直接培訓學生約20000余人(含在校授課及校外授課),向廣州30余所中小學校、10余家培訓機構輸出了公司課程體系;诙嗄甑腜ython編程一線教學經(jīng)驗及課程內容,我們對公司Python課程涉及到的概念、知識點的描述以及實踐項目做了大量的重構與優(yōu)化工作,書中的內容完全來自教學一線的實踐。
1認識編程——無處不在的編程思維
1.1 編程——開啟思維訓練的鑰匙2
1.2 編程學習——是技巧,也是思維,更是習慣2
1.3 另類的語言——程序語言3
2hello world——Python 旅途之始
內容概述5
優(yōu)雅的代碼從認識英語單詞開始5
知識、技能目標6
★2.1 磨刀不誤砍柴工6
2.2 你的代碼“打印機”10
2.3 優(yōu)雅的代碼源于規(guī)范的名字——變量11
★2.4 名字與地址——變量定義的原理12
2.5 計算機需要你做點什么14
2.6 打印輸出變量16
2.7 學習 Python 怎么能少了小海龜17
劃重點19
★拓展與提高19
你掌握了沒有21
學編程,多動手21
3平頭哥的代碼計算器
內容概述23
優(yōu)雅的代碼從認識英語單詞開始23
知識、技能目標24
3.1 數(shù)值類型及類型轉換24
3.2 算術運算26
3.3 比較運算28
3.4 數(shù)學內置函數(shù)29
3.5 math 模塊30
3.6 random 模塊31
3.7 給點顏色31
劃重點34
★拓展與提高34
你掌握了沒有35
學編程,多動手35
4串起來的字符——字符串
內容概述37
優(yōu)雅的代碼從認識英語單詞開始37
知識、技能目標38
4.1 字符串創(chuàng)建38
4.2 把串起來的字符取出來39
4.3 字符串運算41
★4.4 取出多個字符——字符串切片43
★4.5 字符串函數(shù)44
4.6 print( )有講究45
4.7 能畫能書小海龜47
劃重點49
★拓展與提高49
你掌握了沒有50
學編程,多動手50
5平頭哥的數(shù)據(jù)收納盒——列表和元組
內容概述52
優(yōu)雅的代碼從認識英語單詞開始52
知識、技能目標53
5.1 數(shù)據(jù)與“[ ]”的奇妙組合53
5.2 列表訪問與切片54
★5.3 二維列表55
5.4 增刪改查基本操作56
5.5 列表函數(shù)58
5.6 用列表繪圖64
5.7 元組66
劃重點66
★拓展與提高66
你掌握了沒有67
學編程,多動手68
6平頭哥的數(shù)據(jù)收納盒——字典
內容概述70
優(yōu)雅的代碼從認識英語單詞開始70
知識、技能目標70
6.1 鍵與值的“羈絆”71
6.2 字典的創(chuàng)建71
6.3 字典增刪改查72
★6.4 字典內置函數(shù)74
劃重點75
★拓展與提高75
你掌握了沒有77
學編程,多動手77
7是時候作出判斷與選擇了
內容概述79
優(yōu)雅的代碼從認識英語單詞開始79
知識、技能目標80
7.1 生活中的判斷與選擇80
★7.2 代碼邏輯沙盤—流程圖81
7.3 條件表達式與關系運算、邏輯運算82
7.4 Python 條件控制語句83
7.5 條件判斷嵌套85
7.6 小海龜?shù)呐袛嗯c選擇89
劃重點90
★拓展與提高90
你掌握了沒有92
學編程,多動手93
8代碼之“道”——循環(huán)
內容概述95
優(yōu)雅的代碼從認識英語單詞開始95
知識、技能目標95
8.1 周而復始的代碼——循環(huán)概念96
8.2 數(shù)著數(shù)執(zhí)行的循環(huán)——for 循環(huán)99
8.3 Python 循環(huán)的分析與設計103
8.4 不滿足條件循環(huán)就罷工——條件循環(huán)104
8.5 循環(huán)里面還有循環(huán)107
8.6 打斷循環(huán)的執(zhí)行115
8.7 無限循環(huán)120
8.8 坐過山車的小海龜121
劃重點123
拓展與提高123
你掌握了沒有124
學編程,多動手125
9數(shù)學、傳統(tǒng)文化與代碼
內容概述127
優(yōu)雅的代碼從認識英語單詞開始127
知識、技能目標127
9.1 一只兔子的代碼奇遇——斐波那契數(shù)列127
9.2 “自戀的數(shù)字”——水仙花數(shù)130
9.3 代碼與對聯(lián)的融合131
劃重點134
拓展與提高134
你掌握了沒有135
學編程,多動手 136
10借你的代碼來用——函數(shù)
內容概述139
優(yōu)雅的代碼從認識英語單詞開始139
知識、技能目標140
10.1 函數(shù)概述140
10.2 參數(shù)144
10.3 變量的作用域150
10.4 函數(shù)定義實踐150
10.5 隨機代碼的樂趣152
劃重點157
★拓展與提高157
你掌握了沒有160
學編程,多動手161
11平頭哥的代碼百寶箱——模塊
內容概述163
優(yōu)雅的代碼從認識英語單詞開始163
知識、技能目標163
11.1 模塊概念164
11.2 模塊創(chuàng)建及使用164
★11.3 內置模塊168
11.4 random 模塊170
11.5 海龜畫圖函數(shù)總結171
劃重點175
★拓展與提高176
你掌握了沒有178
學編程,多動手178
12糟糕的代碼——異常與異常處理
內容概述180
優(yōu)雅的代碼從認識英語單詞開始180
知識、技能目標180
12.1 異常概念與類型181
★12.2 異常捕獲與處理182
★12.3 異常拋出186
劃重點189
你掌握了沒有189
學編程,多動手190
13看不見的“蟲子”
內容概述192
優(yōu)雅的代碼從認識英語單詞開始192
知識、技能目標192
★13.1 關于 bug192
★13.2 Debug(代碼調試)193
劃重點197
★拓展與提高197
學編程,多動手198
14不一樣的編程——圖形界面編程
內容概述200
優(yōu)雅的代碼從認識英語單詞開始200
知識、技能目標200
14.1 easygui 的下載安裝與導入201
14.2 easygui 函數(shù)202
14.3 ATM 實例206
劃重點212
★拓展與提高212
你掌握了沒有213
學編程,多動手214
15小蟒蛇的文件柜——Python 文件操作
內容概述217
優(yōu)雅的代碼從認識英語單詞開始217
知識、技能目標218
15.1 文件概述218
15.2 Python 文件打開、關閉、讀操作219
15.3 Python 文件寫操作224
15.4 老師再也不擔心我會忘記 close 了226
★15.5 “腌菜”與文件讀寫227
劃重點229
★拓展與提高230
你掌握了沒有230
學編程,多動手230
16新的挑戰(zhàn)——匹配與查找
內容概述232
優(yōu)雅的代碼從認識英語單詞開始232
知識、技能目標232
★16.1 正則的概念與應用場景233
★16.2 正則語法規(guī)則233
★16.3 正則符號236
劃重點240
拓展與提高240
你掌握了沒有242
17萬物皆對象——面向對象基礎
內容概述244
優(yōu)雅的代碼從認識英語單詞開始244
知識、技能目標244
17.1 面向過程與面向對象245
17.2 Python 中的類、實例與對象246
17.3 類定義及類實例化247
17.4 屬性基礎247
17.5 實例屬性基礎248
★17.6 類與實例綜合250
17.7 Python 面向對象概念集合251
劃重點252
★拓展與提高252
你掌握了沒有252
學編程,多動手253
18對象的特征——屬性
內容概述255
優(yōu)雅的代碼從認識英語單詞開始255
知識、技能目標255
18.1 屬性概念—Python 語言特點256
18.2 類屬性257
18.3 實例屬性260
18.4 私有屬性264
劃重點266
★拓展與提高266
你掌握了沒有267
學編程,多動手268
19對象的行為——方法
內容概述270
優(yōu)雅的代碼從認識英語單詞開始270
知識、技能目標270
19.1 實例方法、類方法與靜態(tài)方法271
19.2 方法的私有化276
19.3 面向對象總結回顧277
劃重點279
★拓展與提高 279
★你掌握了沒有282
學編程,多動手282
20尋求“爸爸”的幫助——繼承
內容概述284
優(yōu)雅的代碼從認識英語單詞開始284
知識、技能目標284
20.1 繼承的概念285
★20.2 繼承的傳遞性286
20.3 重寫—方法覆蓋287
20.4 給父類方法加點料—方法擴展288
20.5 __init__()初始化構造方法的繼承289
★20.6 多繼承與繼承順序291
劃重點292
★拓展與提高293
你掌握了沒有293
學編程,多動手293
21游戲開發(fā)中的圖形
內容概述298
優(yōu)雅的代碼從認識英語單詞開始298
知識、技能目標299
21.1 pygame 模塊概述299
21.2 繪制圖形準備305
21.3 繪制圓形307
★21.4 彩虹圈項目309
21.5 圖形與動畫315
21.6 碰撞檢測、精靈與精靈組323
劃重點326
★拓展與提高326
你掌握了沒有330
學編程,多動手330
22不一樣的輸入——事件
內容概述332
優(yōu)雅的代碼從認識英語單詞開始332
知識、技能目標332
22.1 事件的概念332
22.2 鼠標事件333
22.3 鍵盤事件338
★22.4 定時器事件341
劃重點343
★拓展與提高343
你掌握了沒有344
23游戲開發(fā)怎能少了聲音
內容概述346
優(yōu)雅的代碼從認識英語單詞開始346
知識、技能目標346
23.1 任務分析347
23.2 播放列表347
23.3 按鈕實現(xiàn)347
23.4 鼠標模塊回顧350
23.5 音樂播放——pygame.mixer.music 模塊函數(shù)351
劃重點356
你掌握了沒有356
24彈球游戲
內容概述358
優(yōu)雅的代碼從認識英語單詞開始358
知識、技能目標358
24.1 任務分析358
24.2 游戲窗口初始化 361
24.3 球、擋板、計時器初始化362
24.4 游戲循環(huán)與時鐘363
24.5 讓球動起來365
24.6 讓擋板動起來367
24.7 擋板和球的碰撞及游戲聲音369
24.8 游戲結束、得分、restart 游戲370
劃重點376
你掌握了沒有376
附錄
附錄1 常用內置函數(shù)377
附錄2 Python初學者常見錯誤389
附錄3 程序設計練習394
參考文獻400