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