本書分為6章,系統(tǒng)全面地介紹了Python語(yǔ)言的基礎(chǔ)語(yǔ)法、基本數(shù)據(jù)類型與組合數(shù)據(jù)類型;緮(shù)據(jù)類型包括整數(shù)、浮點(diǎn)數(shù)、字符串、布爾值和空值;組合數(shù)據(jù)類型包括序列類型(字符串、列表和元組)、字典類型和集合類型。
本書包括IT行業(yè)的14個(gè)故事與話題,例如伊莉莎程序、身份證的數(shù)字化、計(jì)算機(jī)加密算法等;設(shè)計(jì)了110個(gè)案例,例如猜數(shù)游戲、繪制小花朵、計(jì)算機(jī)造句等;列舉了4個(gè)算法分析的案例,分別是凱撒加密法、換位加密法、英文小說(shuō)的詞頻統(tǒng)計(jì)以及字典加密器。
1. 14個(gè)IT行業(yè)的趣味故事,讓孩子輕松走進(jìn)編程的世界;
2. 110個(gè)案例,提供代碼及視頻資源,調(diào)試運(yùn)行一目了然;
3. 44個(gè)課后習(xí)題,附帶參考答案,鞏固練習(xí),舉一反三;
4. 6章配套PPT文件,重點(diǎn)內(nèi)容全覆蓋,培訓(xùn)上課好幫手。
1.14個(gè)IT行業(yè)的趣味故事,讓孩子輕松走進(jìn)編程的世界;
2.110個(gè)案例,提供代碼及視頻資源,調(diào)試運(yùn)行一目了然;
3.44個(gè)課后習(xí)題,附帶參考答案,鞏固練習(xí),舉一反三;
4.6章配套PPT文件,重點(diǎn)內(nèi)容全覆蓋,培訓(xùn)上課好幫手。
張霞,現(xiàn)就職于深圳職業(yè)技術(shù)學(xué)院人工智能學(xué)院,副教授,長(zhǎng)期從事Java和Python編程語(yǔ)言教學(xué)工作。作為主講教師,參加了校精品課程、省部級(jí)資源共享課、國(guó)家精品課程的教學(xué)工作;作為軟件專業(yè)骨干教師,連續(xù)多年為企業(yè)和全國(guó)高校教師進(jìn)行IT技術(shù)培訓(xùn)。有軟件著作權(quán)3項(xiàng),發(fā)表了多篇教研論文和科研核心期刊論文,編寫了Java、Android、Python等編程類教材6本。曾獲全國(guó)教育教學(xué)信息化大獎(jiǎng)賽二等獎(jiǎng),廣東省計(jì)算機(jī)教育軟件評(píng)審活動(dòng)二等獎(jiǎng)。所指導(dǎo)的學(xué)生曾獲“藍(lán)橋杯”大賽國(guó)家三等獎(jiǎng)、廣東省一等獎(jiǎng),以及全國(guó)高職高!鞍l(fā)明杯”大學(xué)生創(chuàng)新創(chuàng)業(yè)大賽銅獎(jiǎng)等獎(jiǎng)項(xiàng)。
劉穎,現(xiàn)就職于深圳職業(yè)技術(shù)學(xué)院人工智能學(xué)院,講師,負(fù)責(zé)多門專業(yè)課程的教學(xué)工作,廣受學(xué)生好評(píng)。曾發(fā)表多篇與高職教育學(xué)有關(guān)的教研論文,其中《淺析中國(guó)高職教育的部分發(fā)展問(wèn)題及解決辦法》獲得2004年廣東省高教學(xué)會(huì)科研成果三等獎(jiǎng)。
第1章 打開編程之門 1
1.1 為什么要學(xué)編程 1
1.1.1 什么是編程 1
1.1.2 為什么要學(xué)Python編程 3
1.2 Python語(yǔ)言的誕生 4
1.2.1 Python語(yǔ)言的由來(lái) 4
1.2.2 Python應(yīng)用的流行領(lǐng)域 4
1.3 創(chuàng)建Python基礎(chǔ)開發(fā)環(huán)境 6
1.3.1 安裝Python 6
1.3.2 Python解釋器 9
1.3.3 交互模式 9
1.3.4 代碼編輯器 10
1.4 編寫Python程序 12
1.4.1 編寫.py程序 12
1.4.2 查看日期和時(shí)間 13
1.4.3 定位和修復(fù)錯(cuò)誤 14
1.4.4 更多Python開發(fā)工具 16
1.4.5 Python在線幫助文檔 18
1.5 你學(xué)到了什么 19
第 2章 有趣的人機(jī)對(duì)話與猜數(shù)游戲 20
2.1 有趣的人機(jī)對(duì)話 20
2.1.1 編程IPO方法 20
2.1.2 人機(jī)對(duì)話程序 21
2.1.3 程序背后的故事—ELIZA 23
2.1.4 變量 24
2.1.5 縮進(jìn) 26
2.1.6 字符串類型 27
2.1.7 替換函數(shù)replace() 28
2.1.8 數(shù)值類型 29
2.1.9 輸出函數(shù)print() 31
2.1.10 輸入函數(shù)input() 32
2.1.11 輸出的格式問(wèn)題 33
2.1.12 while循環(huán)結(jié)構(gòu) 34
2.2 請(qǐng)輸入密碼 39
2.2.1 程序背后的故事—計(jì)算機(jī)密碼 39
2.2.2 if分支語(yǔ)句 40
2.2.3 多分支結(jié)構(gòu) 41
2.2.4 表達(dá)式 43
2.3 猜數(shù)游戲 45
2.3.1 猜數(shù)游戲程序 46
2.3.2 程序背后的故事—隨機(jī)數(shù) 47
2.3.3 再談while循環(huán) 48
2.4 相關(guān)知識(shí)閱讀 49
2.4.1 字符編碼 49
2.4.2 字符串轉(zhuǎn)義符 50
2.4.3 布爾值 51
2.4.4 注釋 51
2.4.5 常見的打字錯(cuò)誤 52
2.4.6 讓代碼盡可能簡(jiǎn)單 52
2.5 你學(xué)到了什么 53
第3章 一切皆可運(yùn)算 54
3.1 看看身份證 54
3.1.1 身份證號(hào)碼 54
3.1.2 程序背后的故事—身份證的數(shù)字化 55
3.1.3 序列 55
3.1.4 索引 55
3.1.5 切片 57
3.2 輸出漂亮的唐詩(shī) 58
3.2.1 程序背后的故事—一切皆可運(yùn)算 59
3.2.2 成員運(yùn)算符in 60
3.2.3 for循環(huán) 60
3.2.4 3個(gè)引號(hào) 62
3.2.5 函數(shù)str() 62
3.2.6 比較字符大小 64
3.3 字母替代游戲 65
3.3.1 程序背后的故事—?jiǎng)P撒加密法 66
3.3.2 加密算法 68
3.3.3 解密算法 69
3.3.4 查找函數(shù)find() 69
3.3.5 解密程序 70
3.3.6 暴力破譯法 70
3.4 相關(guān)語(yǔ)法閱讀 71
3.4.1 空格處理 71
3.4.2 常用字母轉(zhuǎn)換 71
3.4.3 對(duì)應(yīng)的字母判斷方法 72
3.4.4 字符串格式化 72
3.5 你學(xué)到了什么 72
第4章 列表,還是列表 74
4.1 解同余式 74
4.1.1 程序背后的故事—韓信點(diǎn)兵 74
4.1.2 計(jì)數(shù)函數(shù)range() 75
4.1.3 列表類型 77
4.1.4 遍歷列表 81
4.1.5 循環(huán)嵌套 82
4.2 評(píng)委打分 84
4.2.1 程序背后的故事—計(jì)算機(jī)模擬 86
4.2.2 列表排序 86
4.2.3 家人與朋友列表 89
4.2.4 神奇的食物列表 91
4.2.5 有趣的計(jì)算機(jī)造句 92
4.3 換位加密 93
4.3.1 換位加密算法 95
4.3.2 列表的運(yùn)算符 96
4.3.3 連接函數(shù)join() 97
4.3.4 math庫(kù) 98
4.3.5 換位解密算法 99
4.3.6 程序背后的故事—加密算法 100
4.4 相關(guān)知識(shí)閱讀 101
4.4.1 序列類型 101
4.4.2 元組 102
4.5 你學(xué)到了什么 102
第5章 程序也會(huì)搭積木 103
5.1 繪制小花朵 103
5.1.1 程序背后的故事—Python標(biāo)準(zhǔn)庫(kù) 104
5.1.2 turtle繪圖庫(kù) 105
5.1.3 調(diào)用函數(shù)繪制小花朵 106
5.1.4 定義函數(shù)與調(diào)用函數(shù) 107
5.1.5 函數(shù)的參數(shù)傳遞 109
5.1.6 蟒蛇繪制 110
5.2 向列表中的每個(gè)人發(fā)出問(wèn)候 112
5.2.1 傳遞一個(gè)列表作為參數(shù) 113
5.2.2 參數(shù)的默認(rèn)值 114
5.2.3 有返回值的函數(shù) 115
5.2.4 全局變量和局部變量 116
5.3 繪制科赫雪花 117
5.3.1 繪制科赫雪花 118
5.3.2 程序背后的故事—分形幾何學(xué) 119
5.3.3 遞歸函數(shù) 120
5.3.4 繪制分型樹 121
5.4 程序模塊化 123
5.4.1 制作模塊文件 123
5.4.2 導(dǎo)入模塊文件 124
5.5 相關(guān)知識(shí)閱讀 125
5.5.1 匿名函數(shù)lambda() 125
5.5.2 將lambda()函數(shù)賦值給一個(gè)變量 126
5.6 你學(xué)到了什么 127
第6章 字典是個(gè)寶 128
6.1 字典 128
6.1.1 創(chuàng)建字典 129
6.1.2 刪除字典 131
6.1.3 字典背后—鍵值對(duì)與數(shù)據(jù)結(jié)構(gòu) 132
6.1.4 遍歷字典 135
6.1.5 排序問(wèn)題 138
6.1.6 字典和列表對(duì)比 144
6.2 文件的讀與寫 145
6.2.1 文件的打開與讀寫 146
6.2.2 pickle庫(kù)與數(shù)據(jù)存儲(chǔ) 150
6.2.3 Python的異常處理 151
6.3 英文小說(shuō)的詞頻統(tǒng)計(jì) 154
6.3.1 詞頻統(tǒng)計(jì)的IPO描述 154
6.3.2 詞頻統(tǒng)計(jì)的算法 155
6.3.3 詞頻統(tǒng)計(jì)的完整程序 156
6.3.4 統(tǒng)計(jì)人物出場(chǎng)次數(shù) 157
6.4 創(chuàng)建一個(gè)加密字典 158
6.4.1 創(chuàng)建自己的加密器 159
6.4.2 用字典實(shí)現(xiàn)加密算法 160
6.4.3 解密和解密字典 160
6.4.4 加密一個(gè)文本文件 161
6.4.5 程序背后的故事—算法與圖靈獎(jiǎng) 162
6.5 爬蟲之自制英漢字典 163
6.5.1 創(chuàng)建一個(gè)單詞字典 163
6.5.2 爬蟲的背后—大受歡迎的第三方庫(kù) 164
6.5.3 第三方庫(kù)的安裝 166
6.5.4 爬蟲之?dāng)?shù)據(jù)提取自動(dòng)化 167
6.5.5 爬蟲之?dāng)?shù)據(jù)存儲(chǔ)自動(dòng)化 171
6.6 集合類型 173
6.6.1 組合數(shù)據(jù)類型 173
6.6.2 集合 174
6.7 你學(xué)到了什么 178
附錄A Python關(guān)鍵字和內(nèi)置函數(shù) 179
附錄B 習(xí)題參考答案 181
附錄C Python科學(xué)繪圖樣本 199