本书从Python编程入门出发,采用理论与实践相结合的方式,通过对编程范式、数据结构、程序调试技术,以及实际应用项目的讲解,帮助读者快速掌握Python语言编程基础。
全书共12章,第1~4章介绍面向过程编程范式(顺序结构、选择结构、循环结构);第5章介绍函数式编程范式;第6章介绍面向对象编程范式(类、对象、方法、属性);第7~9章介绍Python数据结构(列表、字典、数据框、字符串、文件等);第10章介绍程序调试技术(抛出异常);第11、12章通过实际应用项目带领读者体验Python语言编程的两个重要应用场景(爬虫、可视化)。
本书可以作为人工智能相关课程的教材,也可作为Python爱好者的参考书。
前言
第1章 面向过程编程范式:顺序结构1
1.1 初识Python1
1.1.1 你的第一个程序:初次见面打招呼1
1.1.2 常量、变量和赋值语句3
1.1.3 输入与输出5
1.1.4 编程风格5
1.2 开发环境:Jupyter Notebook6
1.2.1 Anaconda安装介绍6
1.2.2 Python编辑器介绍8
1.3 Python的优势及应用场景12
1.4 本章小结13
习题113
第2章 数据及运算15
2.1 数据及数据类型15
2.1.1 常量再认识15
2.1.2 关键字16
2.1.3 数据类型:模拟市场结账抹零行为16
2.2 运算符与表达式17
2.2.1 运算符17
2.2.2 表达式19
2.2.3 运算符优先级20
2.3 本章小结22
习题222
第3章 面向过程编程范式:选择结构25
3.1 if-else选择结构25
3.1.1 单分支:有条件结账抹零25
3.1.2 双分支:判断回文数26
3.1.3 多分支:计算应发放奖金28
3.1.4 分支嵌套:快递计费系统30
3.2 三元操作选择结构32
3.3 本章小结32
习题333
第4章 面向过程编程范式:循环结构37
4.1 for循环37
4.1.1 基本for循环:重复打印一句话100遍37
4.1.2 for-else循环:素数判定39
4.2 while循环结构40
4.2.1 while循环:累加和40
4.2.2 break和continue:条件累加和42
4.3 嵌套循环:字符图形43
4.4 本章小结45
习题446
第5章 函数式编程范式51
5.1 函数定义和调用51
5.1.1 函数定义51
5.1.2 函数调用:验证哥德巴赫猜想52
5.1.3 参数传递54
5.2 函数的嵌套和递归57
5.2.1 函数嵌套 57
5.2.2 函数递归:n的阶乘58
5.3 命名空间和变量作用域59
5.3.1 命名空间59
5.3.2 变量作用域60
5.3.3 命名空间和作用域之间关系62
5.4 匿名函数63
5.5 程序入口63
5.6 本章小结64
习题565
第6章 面向对象编程范式69
6.1 面向对象编程概述69
6.2 封装71
6.2.1 定义类71
6.2.2 对象:统计实例化次数71
6.2.3 类成员73
6.3 继承76
6.3.1 继承原理76
6.3.2 定义子类77
6.3.3 使用父类78
6.4 多态79
6.5 模块81
6.5.1 模块分类81
6.5.2 模块导入82
6.5.3 模块使用83
6.5.4 内置的标准模块89
6.6 本章小结91
习题693
第7章 数据结构96
7.1 列表96
7.1.1 列表创建96
7.1.2 列表元素获取97
7.1.3 列表统计与判断:计算器模拟98
7.1.4 列表扩充100
7.1.5 列表删除101
7.1.6 列表排序101
7.2 元组101
7.2.1 元组创建102
7.2.2 获取元组元素102
7.2.3 合并元组103
7.3 字典103
7.3.1 字典创建103
7.3.2 获取字典元素:账号密码登录模拟105
7.3.3 添加字典元素108
7.3.4 删除字典元素108
7.3.5 修改字典元素109
7.3.6 字典其他操作109
7.4 集合110
7.4.1 集合创建110
7.4.2 添加集合元素111
7.4.3 移除集合元素111
7.4.4 集合统计及判断112
7.4.5 专门集合运算:生词本113
7.5 推导式117
7.5.1 列表推导式117
7.5.2 字典推导式118
7.5.3 集合推导式119
7.6 数据框119
7.6.1 数据框创建119
7.6.2 获取数据框元素121
7.6.3 添加数据框元素122
7.6.4 删除数据框元素122
7.6.5 修改数据框元素122
7.6.6 数据框统计分析123
7.6.7 模拟SQL124
7.7 本章小结126
习题7127
第8章 字符串处理132
8.1 字符串格式化132
8.1.1 使用%格式化132
8.1.2 使用{}和format格式化133
8.1.3 大小写转换134
8.2 转义字符134
8.3 字符串操作135
8.3.1 字符串切片访问:判断回文数136
8.3.2 字符串拼接:文本进度条137
8.3.3 字符串分割139
8.3.4 字符串子串查找139
8.3.5 字符串替换:模拟注册验证141
8.3.6 字符串删除143
8.3.7 字符串统计与判断144
8.4 正则表达式145
8.4.1 正则表达式作用145
8.4.2 正则表达式语法145
8.4.3 正则表达式匹配方法:验证手机号码格式147
8.5 本章小结149
习题8149
第9章 文件152
9.1 文件打开与关闭152
9.2 文件读写操作154
9.2.1 写文件154
9.2.2 读文件155
9.2.3 文件复制157
9.2.4 文件定位158
9.3 文件夹操作160
9.3.1 与文件操作有关的模块160
9.3.2 文本词频统计161
9.4 文件格式162
9.4.1 JSON文件读写162
9.4.2 CSV文件读写164
9.5 本章小结165
习题9165
第10章 异常168
10.1 错误和异常168
10.1.1 概述168
10.1.2 语法错误169
10.1.3 异常170
10.2 捕获异常173
10.2.1 try-except173
10.2.2 try-except-else175
10.2.3 try-except-finally176
10.2.4 包含多个except异常处理177
10.3 抛出异常178
10.3.1 raise 语句:输出空心字符矩形图形178
10.3.2 assert 语句:验证录入的成绩合法180
10.4 用户自定义异常:验证输入的性别是否合法181
10.5 本章小结182
习题10183
第11章 爬虫186
11.1 认识HTML186
11.2 XPath189
11.3 爬虫原理192
11.4 爬虫编程193
11.4.1 常用模块193
11.4.2 Python爬虫入门实例196
11.4.3 利用XPath爬取网站信息198
11.4.4 JSON格式与CSV格式相互转换201
11.5 本章小结202
习题11202
第12章 可视化205
12.1 一图胜千言205
12.2 可视化图表作用206
12.3 Matplotlib模块207
12.3.1 面板设置207
12.3.2 小初高在校人数柱状图对比210
12.3.3 泰坦尼克号乘客年龄分布直方图212
12.3.4 票房与票价相关散点图215
12.3.5 城市高中人数占比饼图217
12.3.6 访问量折线图218
12.3.7 箱线图发现异常值220
12.3.8 空气质量热力图224
12.3.9 员工能力雷达图227
12.3.10 产品销量树形图232
12.4 本章小结233
习题12234
参考文献236