本書以PyCharm為主要開發(fā)工具,采用理論與實訓案例相結(jié)合的形式,系統(tǒng)性地講解Python的核心知識。本書共11章,其中,第1~10章介紹Python語言的核心理論知識,包括基礎(chǔ)知識、流程控制、字符串、組合數(shù)據(jù)類型、函數(shù)、文件與數(shù)據(jù)格式化、面向?qū)ο、異常和Python計算生態(tài)與常用庫;第11章圍繞著前期學習的理論知識開發(fā)一個游戲項目——飛機大戰(zhàn)。除第1章和第11章外,其他章均配有豐富的實訓案例和階段案例,讀者可以一邊學習一邊練習,鞏固所學知識,并在實踐中提升實際開發(fā)能力。
本書附有配套視頻、源代碼、習題、教學課件等資源,并提供在線答疑,希望可以幫助讀者更好地學習書中內(nèi)容。
本書既可作為高等教育本、?圃盒S嬎銠C相關(guān)專業(yè)的教材,也可作為編程愛好者的參考用書。
1.黑馬程序員經(jīng)典教材改版;
2.本書在保留了原有風格的基礎(chǔ)上,內(nèi)容做了大量更新,新增了十多個精彩案例,如絕對溫標、健康指數(shù)、打印五子棋棋盤,增加學習的樂趣與實用性,簡化了面向?qū)ο蟮南嚓P(guān)知識,降低了學習難度,更有利入門學習。
3.本書附有教學視頻、源代碼、習題、教學課件等資源。
黑馬程序員,傳智播客旗下高端IT教育品牌,由中國Java培訓先行者張孝祥老師發(fā)起,聯(lián)合全球最大的中文IT社區(qū)CSDN、中關(guān)村軟件園共同創(chuàng)辦。自2014年開始,黑馬程序員與人民郵電出版社建立合作關(guān)系,已出版各類教材40余種,涉及Java、PHP、Android、iOS、Photoshop、.Net、前端等7大門類,總累計銷售量超過一百萬冊。黑馬程序員創(chuàng)建至今,一直堅守著“為千萬人少走彎路而著書,為中華軟件之崛起而講課”的辦學理念。除北京總部外,該公司在上海、廣州、武漢、成都、深圳、長沙等地也創(chuàng)立了直營分支機構(gòu)。
第 1章 Python概述 001
1.1 認識Python 001
1.1.1 Python的發(fā)展歷程 001
1.1.2 Python語言的特點 002
1.2 Python解釋器的安裝與Python
程序的運行 003
1.2.1 安裝Python解釋器 003
1.2.2 Python程序的運行方式 006
1.3 Python開發(fā)工具 007
1.3.1 常用的開發(fā)工具 007
1.3.2 Python IDE—PyCharm的下載與
安裝 007
1.3.3 使用PyCharm編寫Python程序 011
1.4 Python模塊 013
1.4.1 模塊的安裝 014
1.4.2 模塊的導入與使用 014
1.5 本章小結(jié) 015
1.6 習題 015
第 2章 Python基礎(chǔ) 017
2.1 代碼格式 017
2.1.1 注釋 017
2.1.2 縮進 018
2.1.3 語句換行 019
2.2 標識符和關(guān)鍵字 019
2.2.1 標識符 019
2.2.2 關(guān)鍵字 020
2.3 變量和數(shù)據(jù)類型 020
2.3.1 變量 020
2.3.2 數(shù)據(jù)類型 021
2.3.3 變量的輸入與輸出 022
2.4 實訓案例 023
2.4.1 打印購物小票 023
2.4.2 打印螞蟻森林植樹證書 023
2.5 數(shù)字類型 023
2.5.1 整數(shù)類型 023
2.5.2 浮點型 024
2.5.3 復數(shù)類型 024
2.5.4 布爾類型 025
2.5.5 數(shù)字類型轉(zhuǎn)換 025
2.6 運算符 026
2.6.1 算術(shù)運算符 026
2.6.2 賦值運算符 026
2.6.3 比較運算符 027
2.6.4 邏輯運算符 028
2.6.5 成員運算符 028
2.6.6 位運算符 028
2.6.7 運算符優(yōu)先級 031
2.7 實訓案例 032
2.7.1 絕對溫標 032
2.7.2 身體質(zhì)量指數(shù) 032
2.8 本章小結(jié) 032
2.9 習題 032
第3章 流程控制 034
3.1 條件語句 034
3.1.1 if語句 034
3.1.2 if-else語句 035
3.1.3 if-elif-else語句 035
3.1.4 if嵌套 036
3.2 實訓案例 038
3.2.1 計算器 038
3.2.2 猜數(shù)字 038
3.3 循環(huán)語句 038
3.3.1 while語句 038
3.3.2 for語句 039
3.3.3 循環(huán)嵌套 040
3.4 實訓案例 041
3.4.1 逢7拍手游戲 041
3.4.2 打印五子棋棋盤 041
3.5 跳轉(zhuǎn)語句 041
3.5.1 break語句 041
3.5.2 continue語句 042
3.6 階段案例—房貸計算器 042
3.7 本章小結(jié) 042
3.8 習題 043
第4章 字符串 045
4.1 字符串介紹 045
4.2 格式化字符串 047
4.2.1 使用%格式化字符串 047
4.2.2 使用format()方法格式化
字符串 048
4.2.3 使用f-string格式化字符串 049
4.3 實訓案例 049
4.3.1 進制轉(zhuǎn)換 049
4.3.2 文本進度條 050
4.4 字符串的常見操作 050
4.4.1 字符串的查找與替換 050
4.4.2 字符串的分割與拼接 051
4.4.3 刪除字符串的指定字符 052
4.4.4 字符串大小寫轉(zhuǎn)換 053
4.4.5 字符串對齊 053
4.5 實訓案例 054
4.5.1 敏感詞替換 054
4.5.2 文字排版工具 054
4.6 本章小結(jié) 054
4.7 習題 054
第5章 組合數(shù)據(jù)類型 056
5.1 認識組合數(shù)據(jù)類型 056
5.2 列表 057
5.2.1 創(chuàng)建列表 058
5.2.2 訪問列表元素 058
5.2.3 添加列表元素 059
5.2.4 元素排序 060
5.2.5 刪除列表元素 061
5.2.6 列表推導式 062
5.3 元組 063
5.4 實訓案例 064
5.4.1 十大歌手 064
5.4.2 神奇魔方陣 064
5.5 集合 064
5.6 字典 065
5.6.1 創(chuàng)建字典 065
5.6.2 字典的訪問 066
5.6.3 字典元素的添加和修改 067
5.6.4 字典元素的刪除 067
5.6.5 字典推導式 068
5.7 實訓案例 068
5.7.1 青春有你 068
5.7.2 手機通訊錄 068
5.8 組合數(shù)據(jù)類型應(yīng)用運算符 069
5.9 本章小結(jié) 069
5.10 習題 070
第6章 函數(shù) 072
6.1 函數(shù)概述 072
6.2 函數(shù)的定義和調(diào)用 073
6.2.1 定義函數(shù) 073
6.2.2 調(diào)用函數(shù) 074
6.3 函數(shù)參數(shù)的傳遞 075
6.3.1 位置參數(shù)的傳遞 075
6.3.2 關(guān)鍵字參數(shù)的傳遞 076
6.3.3 默認參數(shù)的傳遞 076
6.3.4 參數(shù)的打包與解包 077
6.3.5 混合傳遞 078
6.4 函數(shù)的返回值 079
6.5 變量作用域 079
6.5.1 局部變量和全局變量 079
6.5.2 global和nonlocal關(guān)鍵字 081
6.6 實訓案例 082
6.6.1 角谷猜想 082
6.6.2 飲品自動售貨機 082
6.7 特殊形式的函數(shù) 083
6.7.1 遞歸函數(shù) 083
6.7.2 匿名函數(shù) 084
6.8 實訓案例 085
6.8.1 兔子數(shù)列 085
6.8.2 歸并排序 085
6.9 階段案例—學生管理系統(tǒng) 085
6.10 本章小結(jié) 086
6.11 習題 086
第7章 文件與數(shù)據(jù)格式化 088
7.1 文件概述 088
7.2 文件的基礎(chǔ)操作 089
7.2.1 文件的打開與關(guān)閉 089
7.2.2 文件的讀寫 091
7.2.3 文件的定位讀寫 093
7.3 文件與目錄管理 094
7.4 實訓案例 095
7.4.1 信息安全策略—文件備份 095
7.4.2 用戶賬戶管理 095
7.5 數(shù)據(jù)維度與數(shù)據(jù)格式化 096
7.5.1 基于維度的數(shù)據(jù)分類 096
7.5.2 一維數(shù)據(jù)和二維數(shù)據(jù)的存儲與
讀寫 097
7.5.3 多維數(shù)據(jù)的格式化 099
7.6 本章小結(jié) 099
7.7 習題 100
第8章 面向?qū)ο?102
8.1 面向?qū)ο蟾攀?102
8.2 類與對象的基礎(chǔ)應(yīng)用 104
8.2.1 類的定義 104
8.2.2 對象的創(chuàng)建與使用 104
8.3 類的成員 105
8.3.1 屬性 105
8.3.2 方法 107
8.3.3 私有成員 109
8.4 特殊方法 110
8.4.1 構(gòu)造方法 110
8.4.2 析構(gòu)方法 111
8.5 實訓案例 111
8.5.1 好友管理系統(tǒng) 111
8.5.2 生詞本 112
8.6 封裝 112
8.7 繼承 113
8.7.1 單繼承 113
8.7.2 多繼承 114
8.7.3 重寫 115
8.8 多態(tài) 116
8.9 運算符重載 117
8.10 實訓案例 118
8.10.1 人機猜拳游戲 118
8.10.2 自定義列表 118
8.11 階段案例—銀行管理系統(tǒng) 118
8.12 本章小結(jié) 120
8.13 習題 120
第9章 異常 122
9.1 異常概述 122
9.1.1 認識異常 122
9.1.2 異常的類型 123
9.2 異常捕獲語句 124
9.2.1 使用try-except語句捕獲異常 124
9.2.2 異常結(jié)構(gòu)中的else子句 126
9.2.3 異常結(jié)構(gòu)中的finally子句 127
9.3 拋出異常 127
9.3.1 使用raise語句拋出異常 127
9.3.2 使用assert語句拋出異常 128
9.3.3 異常的傳遞 129
9.4 自定義異常 130
9.5 實訓案例 130
9.5.1 頭像格式檢測 130
9.5.2 商品數(shù)量檢測 131
9.6 本章小結(jié) 131
9.7 習題 131
第 10章 Python計算生態(tài)與常用庫 133
10.1 Python計算生態(tài)概覽 133
10.2 Python生態(tài)庫的構(gòu)建與發(fā)布 138
10.2.1 模塊的構(gòu)建與使用 138
10.2.2 包的構(gòu)建與導入 139
10.2.3 庫的發(fā)布 139
10.3 常用的內(nèi)置Python庫 140
10.3.1 time庫 140
10.3.2 random庫 144
10.3.3 turtle庫 145
10.4 實訓案例 150
10.4.1 圖形繪制 150
10.4.2 模擬時鐘 151
10.5 常用的第三方Python庫 151
10.5.1 jieba庫 151
10.5.2 wordcloud庫 152
10.5.3 pygame庫 155
10.6 實訓案例 166
10.6.1 出場人物統(tǒng)計 166
10.6.2 小猴子接香蕉 167
10.7 本章小結(jié) 167
10.8 習題 167
第 11章 飛機大戰(zhàn)(完整版) 169
11.1 游戲簡介 169
11.1.1 游戲介紹 169
11.1.2 游戲典型場景 172
11.2 項目準備 174
11.2.1 類設(shè)計 174
11.2.2 模塊設(shè)計 175
11.2.3 創(chuàng)建項目 176
11.3 游戲框架搭建 176
11.3.1 游戲類的設(shè)計 176
11.3.2 游戲框架實現(xiàn) 178
11.4 游戲背景和英雄飛機 180
11.4.1 介紹精靈和精靈組 180
11.4.2 派生游戲精靈子類 181
11.4.3 繪制游戲背景和英雄飛機 182
11.4.4 實現(xiàn)游戲背景連續(xù)滾動 183
11.5 指示器面板 185
11.5.1 指示器面板類的設(shè)計 185
11.5.2 指示器面板類的準備 187
11.5.3 使用精靈實現(xiàn)文本標簽 189
11.5.4 顯示和修改游戲數(shù)據(jù) 191
11.5.5 保存和顯示最好成績 194
11.5.6 顯示游戲狀態(tài) 196
11.5.7 游戲結(jié)束后重置面板 198
11.6 逐幀動畫和飛機類 199
11.6.1 逐幀動畫的基本實現(xiàn) 200
11.6.2 飛機類的設(shè)計與實現(xiàn) 202
11.6.3 派生敵機子類 205
11.6.4 派生英雄飛機子類 211
11.7 碰撞檢測 215
11.7.1 碰撞檢測的實現(xiàn) 215
11.7.2 敵機撞毀英雄飛機 218
11.7.3 英雄飛機發(fā)射子彈 220
11.7.4 英雄飛機拾取道具 223
11.8 音樂和音效 226
11.8.1 測試音樂和音效的播放 226
11.8.2 音樂播放器類的設(shè)計 227
11.8.3 加載和播放背景音樂 228
11.8.4 加載和播放音效 229
11.9 項目打包 230
11.10 本章小結(jié) 232