目录 第1章概述/1 1.1Python语言的特点与应用2 1.1.1Python语言的特点2 1.1.2Python语言的主要版本3 1.1.3Python的应用场景3 1.2程序的设计与运行4 1.2.1规划程序4 1.2.2编写程序代码及注释5 1.2.3编译程序代码5 1.2.4执行程序5 1.2.5排错与测试6 1.2.6程序代码的整理与保存6 1.3Python开发环境部署7 1.3.1IDLE7 1.3.2Anaconda 39 1.3.3文本编辑9 1.4Python基础语法11 1.4.1一个简单的Python程序11 1.4.2Python程序的基本结构12 1.4.3基本语法规则12 1.5标准库与扩展库15 1.5.1标准库16 1.5.2扩展库17 1.6字符编码18 1.6.1Unicode编码18 1.6.2编码使用说明19 本章小结19 习题119 第2章数据类型与表达式/20 2.1基本数据类型20 2.1.1数值类型21 2.1.2字符串型23 2.1.3布尔型23 2.1.4空值24 2.2复合数据类型25 2.2.1集合25 2.2.2列表25 2.2.3元组26 2.2.4字典26 2.3变量与常量26 2.3.1变量26 2.3.2常量29 2.4运算符29 2.4.1算术运算符30 2.4.2比较运算符31 2.4.3赋值运算符32 2.4.4位运算符32 2.4.5逻辑运算符33 2.4.6成员运算符34 2.4.7身份运算符34 2.5表达式35 2.5.1表达式的组成35 2.5.2表达式的规则36 2.5.3运算符优先级36 2.6常用内置函数37 2.6.1数据类型转换37 2.6.2max()函数和sum()函数40 2.6.3sorted()函数41 2.6.4输入输出42 2.7语句类型45 2.7.1简单语句45 2.7.2复合语句46 本章小结48 习题248 Python语言程序设计目录第3章程序流程控制/49 3.1结构化程序设计49 3.1.1结构化程序设计方法49 3.1.2结构化程序设计的实施要素50 3.1.3结构化程序的基本结构50 3.2顺序程序52 3.2.1简单语句52 3.2.2顺序程序设计57 3.3分支程序58 3.3.1单分支程序58 3.3.2双分支程序59 3.3.3多分支结构60 3.3.4分支结构的嵌套61 3.4循环程序结构62 3.4.1while循环程序62 3.4.2for循环66 3.4.3跳出循环68 3.4.4循环中的else子句71 3.5复合语句及其缩进书写规则72 3.5.1复合语句72 3.5.2缩进规则72 3.6流程控制程序案例73 3.6.1猜数字游戏73 3.6.2计算基础代谢率BMR74 3.6.3计算最大公约数与最小公倍数75 本章小结76 习题376 第4章函数/77 4.1Python函数概述77 4.1.1函数的作用78 4.1.2内置函数的调用78 4.2自定义函数的定义与调用79 4.2.1自定义函数的语法格式79 4.2.2自定义函数的调用79 4.2.3函数的变量作用域81 4.3函数参数85 4.3.1位置参数85 4.3.2关键参数85 4.3.3默认参数87 4.3.4可变参数89 4.3.5解包参数92 4.3.6组合参数92 4.4返回函数93 4.4.1返回None值93 4.4.2程序举例94 4.5递归函数95 4.5.1递归的基本概念95 4.5.2递归函数应用举例96 4.6匿名函数97 4.6.1语法格式97 4.6.2匿名函数的使用98 4.7偏函数99 4.7.1问题的提出99 4.7.2偏函数的定义与应用100 4.8自定义模块与包101 4.8.1自定义模块101 4.8.2包102 4.8.3if__name__与__main__106 4.9函数应用程序案例108 4.9.1计算三角形面积的程序108 4.9.2计算输入列表的最大值、最小值和平均值的程序109 4.9.3统计字符串中不同字符个数的程序110 本章小结111 习题4111 第5章面向对象编程/113 5.1程序设计的重要里程碑113 5.1.1面向过程编程113 5.1.2面向对象编程114 5.2Python类116 5.2.1创建类116 5.2.2类的属性与方法117 5.2.3方法重载124 5.3构造方法与析构方法125 5.3.1构造方法126 5.3.2析构方法127 5.4私有属性与私有方法128 5.4.1私有属性128 5.4.2私有方法129 5.5静态方法与类方法132 5.5.1静态方法133 5.5.2类方法134 5.5.3静态方法、实例方法与类方法的比较135 5.6继承、多态和封装136 5.6.1类继承136 5.6.2多态142 5.6.3封装144 5.7面向对象程序案例146 5.7.1学生信息处理程序146 5.7.2购买水果管理的程序147 本章小结149 习题5149 第6章列表/151 6.1序列与列表151 6.1.1序列索引151 6.1.2列表的基本操作152 6.2列表的内置函数与方法157 6.2.1列表的内置函数157 6.2.2列表的常用方法158 6.3列表遍历与排序162 6.3.1列表遍历方法162 6.3.2列表排序方法163 6.4列表程序案例166 6.4.1商品价格管理程序166 6.4.2购物车程序167 6.4.3算术能力测试程序168 6.4.4筛选法求素数程序170 本章小结170 习题6170 第7章元组/173 7.1元组操作173 7.1.1元组的创建方法173 7.1.2删除元组175 7.1.3访问元组175 7.1.4元组运算178 7.2元组内置函数与方法179 7.2.1元组内置函数179 7.2.2元组方法182 7.3元组与列表的比较与转换183 7.3.1元组与列表的比较183 7.3.2元组与列表的相互转换184 7.4元组遍历与排序方法185 7.4.1元组遍历185 7.4.2元组排序186 7.5元组程序案例187 7.5.1阿拉伯数字/英文数字的转换187 7.5.2课程名称检索188 本章小结188 习题7189 第8章字典/190 8.1字典的特点与创建190 8.1.1字典的特点190 8.1.2字典创建193 8.1.3可哈希键195 8.2字典的基本操作197 8.2.1字典访问197 8.2.2字典修改197 8.2.3清空字典198 8.2.4字典删除198 8.3字典的函数与方法198 8.3.1字典的函数198 8.3.2字典的方法199 8.4字典的遍历与排序204 8.4.1字典的遍历204 8.4.2字典排序205 8.5字典与列表和元组的相互转换206 8.5.1字典与列表的相互转换206 8.5.2字典与元组的相互转换207 8.6字典程序案例208 8.6.1统计重复数字的程序208 8.6.2统计句子中的重复单词的程序210 8.6.3随机生成卡号的程序211 本章小结212 习题8212 第9章集合/213 9.1集合数据类型与分类213 9.1.1集合数据类型213 9.1.2集合分类214 9.2集合的创建与访问216 9.2.1集合创建216 9.2.2集合访问218 9.2.3集合元素更新218 9.2.4删除集合220 9.3集合运算220 9.3.1标准类型的运算符220 9.3.2集合类型的运算符221 9.3.3可变集合类型的运算符222 9.3.4集合遍历223 9.4集合的方法与内置函数224 9.4.1集合的方法224 9.4.2集合的常用内置函数225 9.4.3列表、元组、集合与字典的比较226 9.5集合程序案例226 9.5.1基于用户协同过滤算法的推荐程序226 9.5.2磁盘资产采集信息的检测程序227 本章小结229 习题9229 第10章字符串/230 10.1字符串的基本操作231 10.1.1字符串创建231 10.1.2字符串切片231 10.1.3字符串替换232 10.1.4字符串查找233 10.1.5字符串分割233 10.1.6字符串修改233 10.1.7字符串输出234 10.2字符串运算234 10.2.1字符串连接234 10.2.2重复输出字符串235 10.2.3成员运算235 10.3字符串格式化236 10.3.1字符串的转义字符236 10.3.2字符串格式化符号237 10.3.3使用format()进行字符串格式化242 10.4字符串方法243 10.4.1字符串常用方法243 10.4.2字符串方法集246 10.5字符串应用案例248 10.5.1凯撒加密法248 10.5.2中英文在线翻译251 本章小结253 习题10253 第11章异常与处理/254 11.1异常254 11.1.1异常的概念254 11.1.2Python程序的错误分类254 11.1.3Python的标准异常256 11.1.4Python常见异常258 11.2捕获异常259 11.2.1try/except语句259 11.2.2获取异常提示信息262 11.2.3try/finally语句264 11.3抛出异常266 11.3.1raise语句266 11.3.2assert语句271 11.4利用with语句处理异常272 11.4.1上下文管理器的工作过程272 11.4.2上下文管理器的自定义274 11.5异常与处理程序案例275 11.5.1文件开启异常处理275 11.5.2自定义登录系统276 11.5.3使用上下文管理器的异常处理程序277 本章小结279 习题11279 第12章日期与时间/281 12.1Python时间281 12.1.1时间戳281 12.1.2格式化的时间字符串281 12.1.3结构化的时间元组283 12.2time模块283 12.2.1time模块简介283 12.2.2time模块常用函数284 12.2.3三种时间格式之间的转换286 12.3datetime模块289 12.3.1datetime模块简介289 12.3.2datetime类的常用函数289 12.4calendar模块292 12.4.1calendar模块简介292 12.4.2calendar的常用方法292 12.5日期与时间程序案例294 12.5.1推测日期程序294 12.5.2生日统计程序295 本章小结298 习题12298 第13章文件处理/299 13.1文件及其分类299 13.1.1文件299 13.1.2文件类型300 13.2文件的操作301 13.2.1文件打开与关闭301 13.2.2文件的读与写306 13.2.3位置查找311 13.2.4文件的方法与属性314 13.3文件遍历315 13.3.1基于read()方法的文件遍历315 13.3.2基于readline()方法的文件遍历316 13.3.3基于readlines()方法的文件遍历317 13.3.4文件迭代器318 13.4os模块与文件访问319 13.4.1os模块的常用方法集319 13.4.2文件访问320 13.5结构化数据的使用324 13.5.1JSON数据格式324 13.5.2pickle模块325 13.6文件处理程序案例327 13.6.1多个txt中的内容合并327 13.6.2文件读写程序329 本章小结329 习题13330 第14章多线程/331 14.1进程与线程331 14.1.1进程与线程的概念331 14.1.2多任务的实现332 14.1.3线程的启动与退出333 14.2线程创建与运行334 14.2.1基于_thread模块的线程创建与运行334 14.2.2基于threading模块的线程创建与运行336 14.3线程同步340 14.3.1Lock()锁341 14.3.2RLock()锁342 14.3.3event事件344 14.4线程优先级队列347 14.4.1生产者消费者模式347 14.4.2Queue模块348 14.5多线程程序案例350 14.5.1基于多线程同步锁的多窗口订票程序350 14.5.2利用Lock()锁实现线程间的同步352 本章小结354 习题14354 第15章数据获取与处理/355 15.1urllib库355 15.1.1网页数据采集355 15.1.2urllib标准库的基本应用359 15.2NumPy363 15.2.1ndarray对象的常用属性363 15.2.2创建数组364 15.2.3NumPy数组类型转换365 15.2.4数组输出365 15.2.5数组运算366 15.3Pandas369 15.3.1Pandas数据结构369 15.3.2索引操作374 15.3.3数据排序379 15.3.4数据清洗381 15.4数据处理程序案例387 15.4.1数据规范化程序387 15.4.2数据清洗程序388 本章小结389 习题15389 第16章数据可视化/391 16.1数据可视化基础391 16.1.1数据可视化过程与元素391 16.1.2Matplotlib绘图基础392 16.2图形绘制398 16.2.1折线图399 16.2.2散点图403 16.2.3气泡图405 16.2.4条形图408 16.2.5直方图411 16.2.6饼图414 16.2.7雷达图416 16.2.8箱形图418 16.3常用图形应用特点比较419 本章小结420 习题16420 参考文献/421