本書首先講解Python趣味編程的基礎(chǔ)知識,如Python的由來、特色、下載、安裝、環(huán)境配置;然后通過實例剖析講解Python編程的基本數(shù)據(jù)類型、基本運算和表達(dá)式、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、海龜繪圖、特征數(shù)據(jù)類型、自定義函數(shù)、面向?qū)ο蟪绦蛟O(shè)計;接著通過實例剖析講解Python編程的文件和文件夾操作、日期與時間處理、GUI應(yīng)用程序;然后通過實例剖析講解Python的tkinter庫繪制圖形和制作動畫、Matplotlib庫繪制圖形和制作動畫、pygame游戲、計算機視覺,*后通過5個實用經(jīng)典案例講解Python編程實戰(zhàn)方法與技巧。 在講解過程中既考慮讀者的學(xué)習(xí)習(xí)慣,又通過具體實例剖析講解Python趣味編程中的熱點問題、關(guān)鍵問題及各種難題。 本書適用于完全沒有接觸過編程的人群,更適用于大學(xué)生、Python或信息技術(shù)教師、計算機科學(xué)愛好者、青少年編程培訓(xùn)機構(gòu)、校內(nèi)相關(guān)社團、Python愛好者閱讀研究使用。
將Python編程中所需要的基礎(chǔ)知識、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、海龜繪圖、文件和文件夾操作、日期與時間處理、GUI應(yīng)用程序、tkinter庫繪制圖形和制作動畫、PyGame游戲融為一體,在實戰(zhàn)中成為Python圖形編程高手
比爾 蓋茨13 歲開始學(xué)編程,后來他成了世界首富;馬克 扎克伯格10歲開始學(xué)編程,后來他成了最年輕的億萬富翁;騰迅創(chuàng)始人馬化騰、新浪創(chuàng)始人王志東、網(wǎng)易創(chuàng)始人丁磊,他們都是從編程做起;百度創(chuàng)始人李彥宏曾放棄優(yōu)越的工作條件,深入研究枯燥的計算機程序,創(chuàng)建的百度成為目前最大的中文搜索引擎。
牛津大學(xué)在2013 年曾發(fā)布過一份報告指出,未來20 年里會有將近一半的工作可能被機器取代。而現(xiàn)在人類是主宰機器人,還是被機器人反制這種話題一再被提及,假如現(xiàn)在不學(xué)習(xí)編程,就像20 年前不會打字、上網(wǎng)一樣。
2014年英國把圖形化編程納入5歲以上小朋友的必修課;在法國,編程被納入了初等義務(wù)教育的選修課程;在北歐國家如芬蘭、愛沙尼亞也把編程作為一門非常重要的義務(wù)教育學(xué)科;在美國,編程已進(jìn)入幼兒園和中小學(xué)課堂,是備受歡迎的課程之一;在我國,青少兒編程也越來越流行起來,并且在中小學(xué)階段設(shè)置相關(guān)課程,這是一個重要的發(fā)展方向。
2017 年7 月,中國國務(wù)院提出新一代人工智能國家戰(zhàn)略,在國家層面對人工智能進(jìn)行定位,其中提到:實施全面智能教育項目,在中小學(xué)階段設(shè)置人工智能相關(guān)課程,逐步推廣編程教育,鼓勵社會力量參與寓教于樂的編程教學(xué)軟件、游戲的開發(fā)和推廣。
Python 誕生之初就被譽為最容易上手的編程語言。進(jìn)入火熱的AI 人工智能時代后,它也逐漸取代 Java,成為編程界的頭牌語言。
| 內(nèi)容結(jié)構(gòu)
本書共16 章,具體章節(jié)安排如下:
第1 章:講解Python 編程的基礎(chǔ)知識,如Python
的由來、特色、下載、安裝、環(huán)境配置。
第2 章到第8 章:講解Python 編程的基本數(shù)據(jù)類型、基本運算和表達(dá)式、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、海龜繪圖、特征數(shù)據(jù)類型、自定義函數(shù)、面向?qū)ο蟪绦蛟O(shè)計。
第9 章到第11 章:講解Python 編程的文件和文件夾操作、日期與時間處理、GUI 應(yīng)用程序。
第12 章到第15 章:講解Python 編程的tkinter 庫繪制圖形和制作動畫、Matplotlib
庫繪制圖形和制作動畫、pygame 游戲、計算機視覺。第16 章:通過5 個實用經(jīng)典案例講解Python 編程實戰(zhàn)方法與技巧。
| 內(nèi)容特色
本書的特色歸納如下:
(1)實用性:本書首先著眼于Python
編程中的實戰(zhàn)應(yīng)用,然后再探討深層次的技巧問題。
(2)詳盡案例:附有大量的例子,通過這些例子介紹知識點。每個例子都是作者精心選擇的,只需反復(fù)練習(xí),舉一反三,就可以真正掌握Python編程中的實戰(zhàn)技巧,從而學(xué)以致用。
(3)全面性:包含Python
中的所有知識,分別是Python 的下載安裝及配置、基本數(shù)據(jù)類型、基本運算和表達(dá)式、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、海龜繪圖、特征數(shù)據(jù)類型、自定義函數(shù)、面向?qū)ο蟪绦蛟O(shè)計、文件和文件夾操作、日期與時間處理、GUI 應(yīng)用程序、tkinter 庫繪制圖形和制作動畫、Matplotlib 庫繪制圖形和制作動畫、pygame 游戲、計算機視覺。
| 適合讀者
本書適用于完全沒有接觸過編程的人群閱讀,更適用于大學(xué)生、Python或信息技術(shù)教師、計算機科學(xué)愛好者、青少年編程培訓(xùn)機構(gòu)、校內(nèi)相關(guān)社團、Python 愛好者閱讀研究。
第1章 Python 編程快速入門 / 1
1.1 編程的重要性 / 2
1.1.1 學(xué)習(xí)編程可以與智能時代同步 / 2
1.1.2 學(xué)習(xí)編程可以參與世界競爭 / 3
1.1.3 學(xué)習(xí)編程可以激發(fā)無限的創(chuàng)造力 / 3
1.1.4 學(xué)習(xí)編程可以把握世界上最好的機會 / 3
1.2 初識Python 語言 / 4
1.2.1 Python 的發(fā)展歷程 / 4
1.2.2 Python 的特點 / 5
1.3 搭建Python 開發(fā)環(huán)境 / 6
1.3.1 Python 的下載 / 6
1.3.2 Python 的安裝 / 7
1.3.3 Python 的環(huán)境變量配置 / 11
1.4 編寫Python 程序 / 14
第2章 Python 程序設(shè)計基礎(chǔ) / 19
2.1 基本數(shù)據(jù)類型 / 20
2.1.1 數(shù)值類型 / 20
2.1.2 字符串 / 22
2.2 變量與賦值 / 26
2.2.1 變量命名規(guī)則 / 26
2.2.2 變量的賦值 / 27
2.3 運算符 / 28
2.3.1 算術(shù)運算符 / 28
2.3.2 賦值運算符 / 30
2.3.3 位運算符 / 31
2.4 Python 的代碼格式 / 33
2.4.1 代碼縮進(jìn) / 33
2.4.2 代碼注釋 / 33
2.4.3 空行 / 34
2.4.4 同一行顯示多條語句 / 34
第3章 Python 的選擇結(jié)構(gòu) / 35
3.1 If 語句 / 36
3.1.1 If 語句的一般格式 / 36
3.1.2 If 語句的注意事項 / 36
3.1.3 實例:游戲登錄判斷系統(tǒng) / 37
3.2 關(guān)系運算符 / 38
3.2.1 關(guān)系運算符及意義 / 38
3.2.2 實例:學(xué)生成績評語系統(tǒng) / 38
3.2.3 實例:分解數(shù)字 / 40
3.3 邏輯運算符 / 41
3.3.1 邏輯運算符及意義 / 41
3.3.2 實例:判斷是否是閏年 / 42
3.3.3 實例:剪刀、石頭、布游戲 / 43
3.3.4 實例:搖骰子游戲 / 44
3.3.5 實例:每周學(xué)習(xí)計劃系統(tǒng) / 45
3.3.6 實例:水仙花數(shù) / 46
3.4 嵌套if 語句 / 47
3.4.1 嵌套if 語句的一般格式 / 47
3.4.2 實例:判斷一個數(shù)是否是2 或5 的倍數(shù) / 48
3.4.3 實例:隨機產(chǎn)生數(shù)并顯示最大數(shù)和最小數(shù) /
49
3.4.4 實例:火車站安檢系統(tǒng) / 50
3.4.5 實例:從小到大給數(shù)字排序 / 52
第4章 Python 的循環(huán)結(jié)構(gòu) / 55
4.1 while 循環(huán) / 56
4.1.1 while 循環(huán)的一般格式 / 56
4.1.2 實例:計算1 2 3 …… 100 的和 / 56
4.1.3 實例:隨機產(chǎn)生10 個隨機數(shù),并打印最大的數(shù)
/ 57
4.1.4 實例:繪制★的等腰三角形 / 58
4.1.5 實例:統(tǒng)計字符個數(shù) / 59
4.2 while 循環(huán)中使用else 語句 / 60
4.2.1 while 循環(huán)中使用else 語句的一般格式 / 61
4.2.2 實例:階乘求和 / 61
4.3 無限循環(huán) / 62
4.4 for 循環(huán) / 63
4.4.1 for 循環(huán)的一般格式 / 63
4.4.2 實例:遍歷顯示學(xué)生的姓名 / 64
4.4.3 實例:遍歷顯示字符串中的字符 / 64
4.5 在for 循環(huán)中使用range() 函數(shù) / 65
4.5.1 range() 函數(shù) / 65
4.5.2 實例:繪制★的菱形 / 66
4.5.3 實例:查找完數(shù) / 67
4.5.4 實例:解決數(shù)學(xué)應(yīng)用題 / 68
4.6 其他語句 / 70
4.6.1 break 語句 / 70
4.6.2 continue 語句 / 71
4.6.3 pass 語句 / 72
第5章 Python 的海龜繪圖 / 73
5.1 海龜繪圖Turtle 庫 / 74
5.1.1 Turtle 庫概述 / 74
5.1.2 導(dǎo)入Turtle 庫 / 74
5.2 畫筆運動命令 / 75
5.2.1 畫筆運動命令及意義 / 75
5.2.2 實例:繪制簡單的圖形 / 76
5.3 畫筆控制命令 / 78
5.3.1 畫筆控制命令及意義 / 78
5.3.2 實例:繪制太陽花 / 78
5.3.3 實例:繪制多彩六邊形 / 79
5.3.4 實例:繪制小蟒蛇 / 80
5.4 全局控制命令 / 81
5.4.1 全局控制命令及意義 / 81
5.4.2 實例:繪制旋轉(zhuǎn)文字效果 / 82
5.4.3 實例:繪制太極圖 / 83
5.4.4 實例:繪制矩形螺旋線 / 85
第6章 Python 的特征數(shù)據(jù)類型 / 87
6.1 列表 / 88
6.1.1 列表的定義 / 88
6.1.2 訪問列表中的值 / 88
6.1.3 修改列表中的值 / 89
6.1.4 刪除列表中的值 / 90
6.1.5 列表的函數(shù) / 91
6.1.6 列表的方法 / 92
6.1.7 實例:排序數(shù)字 / 94
6.1.8 實例:彩色的蜘蛛網(wǎng) / 95
6.2 元組 / 96
6.2.1 元組的定義 / 96
6.2.2 訪問元組中的值 / 97
6.2.3 連接元組 / 98
6.2.4 刪除整個元組 / 99
6.2.5 元組的函數(shù) / 100
6.2.6 實例:顯示自動售貨系統(tǒng)中的數(shù)據(jù) / 101
6.2.7 實例:繪制五角星 / 101
6.3 字典 / 102
6.3.1 字典的定義 / 103
6.3.2 訪問字典中的值和鍵 / 103
6.3.3 修改字典 / 104
6.3.4 字典中的函數(shù) / 105
6.3.5 實例:用戶注冊系統(tǒng) / 106
6.3.6 實例:用戶登錄系統(tǒng) / 108
6.4 集合 / 112
6.4.1 集合的定義 / 112
6.4.2 集合的兩個基本功能 / 112
6.4.3 集合的運算符 / 113
6.4.4 集合的方法 / 115
6.4.5 實例:利用集合排序無重復(fù)的隨機數(shù) /
115
第7章 Python 的函數(shù)及應(yīng)用 / 117
7.1 初識函數(shù) / 18
7.2 內(nèi)置函數(shù) / 118
7.2.1 數(shù)學(xué)函數(shù) / 118
7.2.2 隨機數(shù)函數(shù) / 120
7.2.3 三角函數(shù) / 122
7.2.4 字符串函數(shù) / 123
7.2.5 實例:小學(xué)四則運算 / 127
7.3 用戶自定義函數(shù) / 130
7.3.1 函數(shù)的定義 / 130
7.3.2 調(diào)用自定義函數(shù) / 130
7.3.3 函數(shù)的參數(shù)傳遞 / 132
7.3.4 函數(shù)的參數(shù)類型 / 134
7.3.5 匿名函數(shù) / 138
7.3.6 實例:滿天雪花效果 / 139
7.3.7 實例:分叉樹效果 / 141
第8章 Python 的面向?qū)ο蟪绦蛟O(shè)計 / 143
8.1 面向?qū)ο?/ 144
8.1.1 面向?qū)ο蟾拍?/ 144
8.1.2 類定義與類對象 / 145
8.1.3 類的繼承 / 147
8.1.4 類的多繼承 / 150
8.2 模塊 / 151
8.2.1 自定義模塊 / 152
8.2.2 自定義模塊的調(diào)用 / 153
8.2.3 import 語句 / 154
8.2.4 標(biāo)準(zhǔn)模塊 / 156
8.3 包 / 157
8.4 變量作用域及類型 / 159
8.4.1 變量作用域 / 159
8.4.2 全局變量和局部變量 / 161
8.4.3 global 和nonlocal 關(guān)鍵字 / 162
第9章 Python 的文件及文件夾操作 / 165
9.1 文件的基本操作 / 166
9.1.1 文件的創(chuàng)建 / 166
9.1.2 寫入文件內(nèi)容 / 168
9.1.3 打開文件并讀取內(nèi)容 / 172
9.1.4 設(shè)置文件中光標(biāo)的位置 / 174
9.2 文件夾的基本操作 / 176
9.2.1 創(chuàng)建文件夾 / 176
9.2.2 判斷文件夾是否存在 / 178
9.2.3 文件夾重命名 / 179
9.2.4 文件夾的刪除 / 181
9.2.5 shutil 模塊的應(yīng)用 / 183
9.3 文件和文件夾的其他操作 / 185
9.3.1 獲取和修改當(dāng)前文件夾的位置 / 185
9.3.2 連接目錄和文件名 / 186
9.3.3 文件的復(fù)制和刪除 / 187
9.3.4 文件的屬性信息 / 189
9.4 實例:實現(xiàn)文本的替換功能 / 190
第10章 Python 的時間和日期 / 195
10.1 time 模塊 / 196
10.1.1 time 模塊表示時間的兩種格式 / 196
10.1.2 時間戳 / 197
10.1.3 包括9 個元素的元組 / 199
10.1.4 時間的格式化 / 200
10.1.5 time 模塊中的其他常用方法 /
203
10.2 datetime 模塊 / 204
10.2.1 date 對象 / 204
10.2.2 time 對象 / 208
10.2.3 datetime 對象 / 209
10.2.4 timedelta 對象 / 210
10.3 calendar 模塊 / 212
第11章 Python 的GUI 應(yīng)用程序 / 219
11.1 GUI 應(yīng)用程序概述 / 220
11.2 Window 窗體 / 220
11.3 常用控件 / 222
11.3.1 標(biāo)簽控件 / 222
11.3.2 按鈕控件 / 223
11.3.3 輸入文本框控件 / 225
11.3.4 單選按鈕控件 / 226
11.3.5 復(fù)選框控件 / 228
11.3.6 列表框控件 / 231
11.3.7 下拉列表框控件 / 234
11.3.8 多行文本框控件 / 235
11.3.9 刻度滑動條控件 / 238
11.3.10 滾動條控件 / 239
11.4 幾何管理對象 / 241
11.4.1 pack 對象 / 242
11.4.2 grid 對象 / 242
11.4.3 place 對象 / 243
11.4.4 實例:Window 窗體登錄系統(tǒng) / 244
11.5 窗體菜單 / 246
11.5.1 Menu 對象的方法與屬性 / 246
11.5.2 實例:為窗體添加菜單 / 247
11.5.3 實例:添加右鍵菜單 / 249
11.5.4 實例:添加菜單命令 / 250
11.6 常用對話框 / 251
11.6.1 messagebox 對話框 / 251
11.6.2 filedialog 對話框 / 257
11.6.3 simpledialog 對話框 / 262
11.6.4 colorchooser 對話框 / 265
第12章
利用tkinter 庫繪制圖形和制作動畫 / 269
12.1 創(chuàng)建畫布 / 270
12.1.1 Canvas 控件 / 270
12.1.2 實例:利用Canvas 控件創(chuàng)建一個背景色為黃色的畫布 / 270
12.2 繪制各種圖形 / 271
12.2.1 繪制線段 / 271
12.2.2 繪制橢圓 / 273
12.2.3 繪制矩形 / 275
12.2.4 繪制多邊形 / 275
12.2.5 繪制弧線 / 276
12.3 顯示圖像 / 277
12.3.1 矢量圖 / 278
12.3.2 位圖 / 278
12.3.3 顯示矢量圖 / 279
12.3.4 顯示位圖 / 282
12.4 顯示文本和窗體組件 / 283
12.4.1 顯示文本 / 283
12.4.2 顯示窗體控件 / 284
12.5 實例:利用鍵盤控制多彩矩形的運動 /
285
12.6 實例:利用time 實現(xiàn)矩形的運動效果 /
287
12.7 實例:手繪效果 / 288
12.8 實例:圖形的放大與縮小效果 / 289
12.9 實例:滾動字幕效果 / 291
第13章
利用Matplotlib 庫繪制圖形和制作動畫 / 293
13.1 初識Matplotlib 庫 / 294
13.1.