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