●章 打開編程之門 1
1.1 為什麼要學編程 1
1.1.1 什麼是編程 1
1.1.2 為什麼要學Python編程 3
1.2 Python語言的誕生 4
1.2.1 Python語言的由來 4
1.2.2 Python應用的流行領域 4
1.3 創建Python基礎開發環境 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 查看日期和時間 13
1.4.3 定位和修復錯誤 14
1.4.4 更多Python開發工具 16
1.4.5 Python在線幫助文檔 18
1.5 你學到了什麼 19
第2章 有趣的人機對話與猜數遊戲 20
2.1 有趣的人機對話 20
2.1.1 編程IPO方法 20
2.1.2 人機對話程序 21
2.1.3 程序背後的故事—ELIZA 23
2.1.4 變量 24
2.1.5 縮進 26
2.1.6 字符串類型 27
2.1.7 替換函數replace() 28
2.1.8 數值類型 29
2.1.9 輸出函數print() 31
2.1.10 輸入函數input() 32
2.1.11 輸出的格式問題 33
2.1.12 while循環結構 34
2.2 請輸入密碼 39
2.2.1 程序背後的故事—計算機密碼 39
2.2.2 if分支語句 40
2.2.3 多分支結構 41
2.2.4 表達式 43
2.3 猜數遊戲 45
2.3.1 猜數遊戲程序 46
2.3.2 程序背後的故事—隨機數 47
2.3.3 再談while循環 48
2.4 相關知識閱讀 49
2.4.1 字符編碼 49
2.4.2 字符串轉義符 50
2.4.3 布爾值 51
2.4.4 注釋 51
2.4.5 常見的打字錯誤 52
2.4.6 讓代碼盡可能簡單 52
2.5 你學到了什麼 53
第3章 一切皆可運算 54
3.1 看看身份證 54
3.1.1 身份證號碼 54
3.1.2 程序背後的故事—身份證的數字化 55
3.1.3 序列 55
3.1.4 索引 55
3.1.5 切片 57
3.2 輸出漂亮的唐詩 58
3.2.1 程序背後的故事—一切皆可運算 59
3.2.2 成員運算符in 60
3.2.3 for循環 60
3.2.4 3個引號 62
3.2.5 函數str() 62
3.2.6 比較字符大小 64
3.3 字母替代遊戲 65
3.3.1 程序背後的故事—凱撒加密法 66
3.3.2 加密算法 68
3.3.3 解密算法 69
3.3.4 查找函數find() 69
3.3.5 解密程序 70
3.3.6 暴力破譯法 70
3.4 相關語法閱讀 71
3.4.1 空格處理 71
3.4.2 常用字母轉換 71
3.4.3 對應的字母判斷方法 72
3.4.4 字符串格式化 72
3.5 你學到了什麼 72
第4章 列表,還是列表 74
4.1 解同餘式 74
4.1.1 程序背後的故事—韓信點兵 74
4.1.2 計數函數range() 75
4.1.3 列表類型 77
4.1.4 遍歷列表 81
4.1.5 循環嵌套 82
4.2 評委打分 84
4.2.1 程序背後的故事—計算機模擬 86
4.2.2 列表排序 86
4.2.3 家人與朋友列表 89
4.2.4 神奇的食物列表 91
4.2.5 有趣的計算機造句 92
4.3 換位加密 93
4.3.1 換位加密算法 95
4.3.2 列表的運算符 96
4.3.3 連接函數join() 97
4.3.4 math庫 98
4.3.5 換位解密算法 99
4.3.6 程序背後的故事—加密算法 100
4.4 相關知識閱讀 101
4.4.1 序列類型 101
4.4組 102
4.5 你學到了什麼 102
第5章 程序也會搭積木 103
5.1 繪制小花朵 103
5.1.1 程序背後的故事—Python標準庫 104
5.1.2 turtle繪圖庫 105
5.1.3 調用函數繪制小花朵 106
5.1.4 定義函數與調用函數 107
5.1.5 函數的參數傳遞 109
5.1.6 蟒蛇繪制 110
5.2 向列表中的每個人發出問候 112
5.2.1 傳遞一個列表作為參數 113
5.2.2 參數的默認值 114
5.2.3 有返回值的函數 115
5.2.4 全局變量和局部變量 116
5.3 繪制科赫雪花 117
5.3.1 繪制科赫雪花 118
5.3.2 程序背後的故事—分形幾何學 119
5.3.3 遞歸函數 120
5.3.4 繪制分型樹 121
5.4 程序模塊化 123
5.4.1 制作模塊文件 123
5.4.2 導入模塊文件 124
5.5 相關知識閱讀 125
5.5.1 匿名函數lambda() 125
5.5.2 將lambda()函數賦值給一個變量 126
5.6 你學到了什麼 127
第6章 字典是個寶 128
6.1 字典 128
6.1.1 創建字典 129
6.1.2 刪除字典 131
6.1.3 字典背後—鍵值對與數據結構 132
6.1.4 遍歷字典 135
6.1.5 排序問題 138
6.1.6 字典和列表對比 144
6.2 文件的讀與寫 145
6.2.1 文件的打開與讀寫 146
6.2.2 pickle庫與數據存儲 150
6.2.3 Python的異常處理 151
6.3 英文小說的詞頻統計 154
6.3.1 詞頻統計的IPO描述 154
6.3.2 詞頻統計的算法 155
6.3.3 詞頻統計的完整程序 156
6.3.4 統計人物出場次數 157
6.4 創建一個加密字典 158
6.4.1 創建自己的加密器 159
6.4.2 用字典實現加密算法 160
6.4.3 解密和解密字典 160
6.4.4 加密一個文本文件 161
6.4.5 程序背後的故事—算法與圖靈獎 162
6.5 爬蟲之自制英漢字典 163
6.5.1 創建一個單詞字典 163
6.5.2 爬蟲的背後—大受歡迎的第三方庫 164
6.5.3 第三方庫的安裝 166
6.5.4 爬蟲之數據提取自動化 167
6.5.5 爬蟲之數據存儲自動化 171
6.6 集合類型 173
6.6.1 組合數據類型 173
6.6.2 集合 174
6.7 你學到了什麼 178
附錄A Python關鍵字和內置函數 179
附錄B 習題參考答案 181
附錄C Python科學繪圖樣本 199
內容簡介
本書分為6章,繫統全面地介紹了Python語言的基礎語法、基本數據類型與組合數據類型。基本數據類型包括整數、浮點數、字符串、布爾值和空值;組合數據類型包括序列類型(字符串、組)、字典類型和集合類型。本書包括IT行業的14個故事與話題,例如伊莉莎程序、身份證的數字化、計算機加密算法等;設計了110個案例,例如猜數遊戲、繪制小花朵、計算機造句等;列舉了4個算法分析的案例,分別是凱撒加密法、換位加密法、英文小說的詞頻統計以及字典加密器。 本書案例淺顯易懂,適合零基礎入門Python編程的讀者,尤其是青少年和兒童。