ç›® 录 第1ç« Python概述 1 1.1 Pythonè¯è¨€ç®€ä»‹ 1 1.1.1 Pythonè¯è¨€çš„å‘展 1 1.1.2 Pythonè¯è¨€çš„优缺点 2 1.1.3 Pythonçš„åº”ç”¨æ–¹å‘ 3 1.2 Python集æˆå¼€å‘环境 4 1.2.1 Python解释器下载 4 1.2.2 测试Python是å¦å®‰è£…æˆåŠŸ 6 1.2.3 PyCharm的安装与使用 7 1.3 编写Pythonç¨‹åº 9 1.4 Pythonè¯æ³•æ ¼å¼åŠä»£ç 规范 13 1.5 __name__属性 14 1.6 Python库的安装åŠå¼•用 15 1.6.1 Python库的引用 16 1.6.2 安装扩展库 17 1.7 æœ¬ç« å°ç»“ 18 1.8 ä¹ é¢˜ 18 第2ç« Pythonè¯æ³•基础 19 2.1 æ ‡è¯†ç¬¦ 19 2.2 å˜é‡ 20 2.2.1 å˜é‡çš„命å规则 20 2.2.2 å˜é‡çš„赋值 20 2.3 æ•°æ®ç±»åž‹ 21 2.3.1 数值类型 21 2.3.2 å—符串 25 2.3.3 转义å—符 25 2.3.4 å¤åˆæ•°æ®ç±»åž‹ 26 2.4 è¿ç®—ç¬¦å’Œè¡¨è¾¾å¼ 27 2.4.1 算术è¿ç®—符 28 2.4.2 赋值è¿ç®—符 29 2.4.3 比较è¿ç®—符 30 2.4.4 逻辑è¿ç®—符 30 2.4.5 ä½è¿ç®—符 31 2.4.6 æˆå‘˜è¿ç®—符 32 2.4.7 身份è¿ç®—符 32 2.4.8 è¿ç®—符优先级 33 2.5 常用内置函数 34 2.5.1 数æ®ç±»åž‹è½¬æ¢å‡½æ•° 35 2.5.2 åºåˆ—结构或å¯è¿ä»£æ•°æ®å‡½æ•° 36 2.5.3 其他函数 37 2.6 基本输入/输出 38 2.6.1 输入è¯å¥ 38 2.6.2 输出è¯å¥ 39 2.6.3ã€€æ ¼å¼åŒ–输出 39 2.6.4 f-stringsæ ¼å¼åŒ–输出 41 2.7 应用举例 41 2.8 æœ¬ç« å°ç»“ 42 2.9 ä¹ é¢˜ 43 第3ç« ç¨‹åºæŽ§åˆ¶ç»“æž„ 45 3.1 分支结构 45 3.1.1 å•分支è¯å¥ 45 3.1.2 åŒåˆ†æ”¯è¯å¥ 46 3.1.3 多分支è¯å¥ 48 3.1.4 嵌套分支è¯å¥ 50 3.2 循环结构 51 3.2.1 whileè¯å¥ 51 3.2.2 forè¯å¥ 53 3.3 循环控制è¯å¥ 55 3.3.1 breakè¯å¥ 55 3.3.2 continueè¯å¥ 56 3.4 循环嵌套 57 3.5 带else的循环è¯å¥ 58 3.6 应用举例 61 3.7 æœ¬ç« å°ç»“ 64 3.8 ä¹ é¢˜ 64 第4ç« åºåˆ— 67 4.1 列表 67 4.1.1ã€€åˆ—è¡¨çš„åˆ›å»ºå’Œåˆ é™¤ 67 4.1.2 列表的æ“作 68 4.1.3 列表的嵌套 77 4.1.4ã€€åˆ—è¡¨æŽ¨å¯¼å¼ 78 4.2 元组 79 4.2.1ã€€å…ƒç»„çš„åˆ›å»ºä¸Žåˆ é™¤ 80 4.2.2ã€€è®¿é—®å…ƒç»„å…ƒç´ 81 4.2.3ã€€ä¿®æ”¹å…ƒç»„å…ƒç´ 82 4.2.4 生æˆå™¨æŽ¨å¯¼å¼ 82 4.2.5 元组与列表的区别 83 4.2.6ã€€å…ƒç»„å’Œåˆ—è¡¨çš„ç›¸äº’è½¬æ¢ 83 4.3 å—å…¸ 84 4.3.1 创建å—å…¸ 84 4.3.2 访问å—å…¸å…ƒç´ 85 4.3.3 é历å—å…¸ 86 4.3.4 å—å…¸çš„å¸¸è§æ“作 86 4.3.5 å—å…¸æŽ¨å¯¼å¼ 88 4.4 é›†åˆ 89 4.4.1 集åˆçš„åˆ›å»ºä¸Žåˆ é™¤ 89 4.4.2 集åˆçš„æ“ä½œä¸Žè¿ç®— 90 4.5 应用举例 91 4.6 æœ¬ç« å°ç»“ 96 4.7 ä¹ é¢˜ 96 第5ç« å‡½æ•° 99 5.1 函数的定义åŠè°ƒç”¨ 99 5.1.1 函数的定义 99 5.1.2 调用函数 100 5.2 函数的返回值 101 5.3 å‡½æ•°çš„å‚æ•° 103 5.3.1 形å‚ä¸Žå®žå‚ 104 5.3.2 ä½ç½®å‚æ•° 105 5.3.3ã€€é»˜è®¤å€¼å‚æ•° 106 5.3.4 关键å—傿•° 107 5.3.5 å¯å˜é•¿åº¦å‚æ•° 108 5.4 å˜é‡çš„作用域 110 5.5 递归函数 114 5.6 高阶函数* 117 5.7 é—包* 117 5.8 装饰器* 118 5.9 匿å函数 121 5.10 生æˆå™¨å‡½æ•° 123 5.11 应用举例 124 5.12 æœ¬ç« å°ç»“ 127 5.13 ä¹ é¢˜ 127 第6ç« å—符串与æ£åˆ™è¡¨è¾¾å¼ 130 6.1 å—符串编ç 130 6.2 å—符串的常用方法 132 6.2.1 查找类方法 132 6.2.2 分隔类方法 133 6.2.3 大å°å†™è½¬æ¢ç±»æ–¹æ³• 135 6.2.4ã€€åˆ é™¤ç©ºç™½ç¬¦æ–¹æ³• 135 6.2.5 连接替æ¢ç±»æ–¹æ³• 135 6.2.6 判æ–起始方法 136 6.2.7 测试类方法 137 6.2.8 排版类方法 138 6.2.9 å—符串的其他è¿ç®— 138 6.3 å—ç¬¦ä¸²å¸¸é‡ 139 6.4 æ£åˆ™è¡¨è¾¾å¼* 140 6.4.1 æ£åˆ™è¡¨è¾¾å¼å…ƒå—符 140 6.4.2 æ£åˆ™è¡¨è¾¾å¼çš„æ‰©å±•è¯æ³• 141 6.4.3 贪婪匹é…å’Œéžè´ªå©ªåŒ¹é… 142 6.5 使用æ£åˆ™è¡¨è¾¾å¼æ¨¡å—re处ç†å—符串* 143 6.5.1 reæ¨¡å— 143 6.5.2 匹é…对象åŠgroup()å’Œgroups() 方法 144 6.5.3 match()å’Œsearch()方法 144 6.5.4 sub()å’Œsubn()函数 145 6.5.5 使用compile()编译æ£åˆ™è¡¨è¾¾å¼ 146 6.5.6 findall()ã€finditer()å’Œsplit()方法 147 6.6 应用举例 147 6.7 æœ¬ç« å°ç»“ 151 6.8 ä¹ é¢˜ 151 第7ç« é¢å‘对象程åºè®¾è®¡ 153 7.1 é¢å‘对象的基本概念åŠç‰¹æ€§ 153 7.2 类和对象 155 7.2.1 类的定义 155 7.2.2 对象的创建和使用 156 7.2.3ã€€æž„é€ æ–¹æ³•å’Œæžæž„方法 157 7.3 属性 159 7.3.1 实例属性和类属性 159 7.3.2ã€€ç§æœ‰å±žæ€§å’Œå…¬æœ‰å±žæ€§ 161 7.4 方法 162 7.4.1 实例方法 162 7.4.2 类方法 163 7.4.3ã€€é™æ€æ–¹æ³• 164 7.5 继承 165 7.6 å¤šæ€ 173 7.7 è¿ç®—符é‡è½½* 174 7.8 应用举例 175 7.9 æœ¬ç« å°ç»“ 179 7.10 ä¹ é¢˜ 179 第8ç« æ–‡ä»¶ 182 8.1 文件概述 182 8.2 文件的基本æ“作 183 8.2.1ã€€æ–‡ä»¶çš„æ‰“å¼€ä¸Žå…³é— 183 8.2.2ã€€æ–‡ä»¶çš„è¯»å– 185 8.2.3 文件的写入 188 8.2.4 文件的其他æ“作 189 8.3 CSV文件* 191 8.3.1 读å–CSV文件 191 8.3.2 写入CSV文件 192 8.4 二进制文件的读写* 193 8.4.1 jsonæ¨¡å— 193 8.4.2 pickleæ¨¡å— 194 8.5 文件夹和目录æ“作 195 8.5.1 osæ¨¡å— 196 8.5.2 os.pathæ¨¡å— 197 8.5.3 shutilæ¨¡å— 199 8.6 应用举例 200 8.7 æœ¬ç« å°ç»“ 202 8.8 ä¹ é¢˜ 202 第9ç« å¼‚å¸¸å¤„ç† 205 9.1 å¼‚å¸¸å¤„ç†æ¦‚è¿° 205 9.1.1 异常的定义 205 9.1.2 Pythonä¸çš„异常类 206 9.2 æ•获和处ç†å¼‚常 208 9.2.1 try-exceptè¯å¥æ•获异常 208 9.2.2 try-except-else结构 211 9.2.3 try-except-finally结构 212 9.2.4 抛出异常 213 9.3 自定义异常类* 214 9.4 æ–言* 214 9.5 应用举例 215 9.6 æœ¬ç« å°ç»“ 216 9.7 ä¹ é¢˜ 216 第10ç« æ¨¡å— 218 10.1 æ¨¡å—æ¦‚è¿° 218 10.2 模å—的定义与使用 219 10.2.1ã€€è‡ªå®šä¹‰æ¨¡å— 219 10.2.2 使用importè¯å¥å¯¼å…¥æ¨¡å— 219 10.2.3 使用from...importè¯å¥å¯¼å…¥æ¨¡å— 220 10.2.4 模å—çš„æœç´¢è·¯å¾„ 222 10.3 常è§å†…ç½®æ¨¡å— 224 10.3.1 sysæ¨¡å— 224 10.3.2 randomæ¨¡å— 225 10.3.3 timeæ¨¡å— 226 10.4 第三方模å—* 228 10.4.1ã€€ä¸æ–‡åˆ†è¯æ¨¡å—jieba 228 10.4.2 è¯äº‘模å—wordcloud 231 10.5 应用举例 233 10.6 æœ¬ç« å°ç»“ 234 10.7 ä¹ é¢˜ 234 第11ç« æ•°æ®åº“应用开å‘* 236 11.1 æ•°æ®åº“ç¼–ç¨‹æŽ¥å£ 236 11.1.1 连接对象 236 11.1.2ã€€æ¸¸æ ‡å¯¹è±¡ 237 11.2 使用Pythonæ“作SQLiteæ•°æ®åº“ 238 11.3 使用Pythonæ“作MySQLæ•°æ®åº“ 240 11.3.1 安装PyMySQL 240 11.3.2 连接数æ®åº“ 241 11.3.3 创建数æ®è¡¨ 242 11.3.4 æ“作数æ®è¡¨ 242 11.4 使用Pythonæ“作MongoDBæ•°æ®åº“ 243 11.5 æœ¬ç« å°ç»“ 248 11.6 ä¹ é¢˜ 248 第12ç« ç»¼åˆæ¡ˆä¾‹â€”—å¦ç”Ÿä¿¡æ¯ç®¡ç†ç³»ç»Ÿ 250 12.1 éœ€æ±‚åˆ†æž 250 12.2 系统设计 250 12.2.1 系统功能结构 250 12.2.2 系统业务æµç¨‹ 251 12.3 系统开å‘è¦æ±‚ 252 12.3.1 系统开å‘环境 252 12.3.2 文件夹组织结构 252 12.4 主函数的设计 252 12.4.1 功能概述 252 12.4.2 主函数的业务æµç¨‹ 253 12.4.3 实现主函数 253 12.4.4 显示主èœå• 254 12.5 å¦ç”Ÿä¿¡æ¯ç»´æŠ¤æ¨¡å—设计 255 12.5.1 å¦ç”Ÿä¿¡æ¯ç»´æŠ¤æ¨¡å—概述 255 12.5.2 实现录入å¦ç”Ÿä¿¡æ¯åŠŸèƒ½ 257 12.5.3ã€€å®žçŽ°åˆ é™¤å¦ç”Ÿä¿¡æ¯åŠŸèƒ½ 259 12.5.4 实现修改å¦ç”Ÿä¿¡æ¯åŠŸèƒ½ 261 12.6 查询/统计模å—设计 263 12.6.1 查询/ç»Ÿè®¡æ¨¡å—æ¦‚è¿° 263 12.6.2 实现查找å¦ç”Ÿä¿¡æ¯åŠŸèƒ½ 264 12.6.3 实现统计å¦ç”Ÿæ€»äººæ•°åŠŸèƒ½ 267 12.6.4 实现显示所有å¦ç”Ÿä¿¡æ¯åŠŸèƒ½ 268 12.7 æŽ’åºæ¨¡å—设计 269 12.7.1ã€€æŽ’åºæ¨¡å—概述 269 12.7.2 实现按å¦ç”Ÿæˆç»©æŽ’åº 270