第 一部分 开始篇

第 1章 关于Python 3

1.1 用Python的理由 3

1.2 Python的长处 3

1.2.1 Python易于使用 4

1.2.2 Python富有表现力 4

1.2.3 Python可读性好 5

1.2.4 Python功能齐备 5

1.2.5 Python跨平台 6

1.2.6 Python免费 6

1.3 Python的短板 6

1.3.1 Python不是速度最快的语言 7

1.3.2 Python的库不算最多 7

1.3.3 Python在编译时不检查变量类型 7

1.3.4 Python对移动应用的支持不足 8

1.3.5 Python对多处理器的利用不充分 8

1.4 学Python 3的理由 8

1.5 小结 9

第 2章 入门 10

2.1 Python的安装 10

2.2 基础交互模式和IDLE 12

2.2.1 基础交互模式 12

2.2.2 IDLE集成开发环境 13

2.2.3 基础交互模式和IDLE的适用场景 13

2.3 使用IDLE的Python shell窗口 13

2.4 第 一个程序“Hello, world" 14

2.5 利用交互式提示符探索Python 15

2.6 小结 16

第3章 Python概述 17

3.1 Python简介 17

3.2 内置数据类型 18

3.2.1 数值 18

3.2.2 列表 20

3.2.3 元组 21

3.2.4 字符串 22

3.2.5 字典 23

3.2.6 集合 23

3.2.7 文件对象 23

3.3 流程控制语句结构 24

3.3.1 布尔值和表达式 24

3.3.2 if-elif-else语句 25

3.3.3 while循环 25

3.3.4 for循环 25

3.3.5 函数定义 26

3.3.6 异常 27

3.3.7 用关键字with控制上下文 27

3.4 创建模块 28

3.5 面向对象编程 29

3.6 小结 31

第二部分 重点内容

第4章 基础知识 35

4.1 缩进和代码块构建 35

4.2 识别注释 36

4.3 变量和赋值 37

4.4 表达式 38

4.5 字符串 39

4.6 数值 40

4.6.1 内置数值处理函数 41

4.6.2 高级数值处理函数 41

4.6.3 数值计算 41

4.6.4 复数 41

4.6.5 高级复数函数 42

4.7 None值 43

4.8 获取用户输入 43

4.9 内置操作符 44

4.10 基本的Python编码风格 44

4.11 小结 45

第5章 列表、元组和集合 46

5.1 列表类似于数组 46

5.2 列表的索引机制 47

5.3 修改列表 49

5.4 对列表排序 51

5.4.1 自定义排序 52

5.4.2 sorted()函数 53

5.5 其他常用的列表操作 53

5.5.1 用in操作符判断列表成员 53

5.5.2 用 操作符拼接列表 54

5.5.3 用*操作符初始化列表 54

5.5.4 用min和max方法求列表的最小值和最大值 54

5.5.5 用index方法搜索列表 54

5.5.6 用count方法对匹配项计数 55

5.5.7 列表操作小结 55

5.6 嵌套列表和深复制 56

5.7 元组 58

5.7.1 元组的基础知识 59

5.7.2 单个元素的元组应加上逗号 60

5.7.3 元组的打包和拆包 60

5.7.4 列表和元组的相互转换 61

5.8 集合 62

5.8.1 集合的操作 62

5.8.2 不可变集合 63

5.9 小结 64

第6章 字符串 65

6.1 将字符串理解为字符序列 65

6.2 基本的字符串操作 66

6.3 特殊字符和转义序列 66

6.3.1 基本的转义序列 66

6.3.2 数字格式(八进制、十六进制)和Unicode编码的转义序列 67

6.3.3 对带特殊字符的字符串打印和求值的差异 68

6.4 字符串方法 68

6.4.1 字符串的split和join方法 69

6.4.2 将字符串转换为数值 70

6.4.3 去除多余的空白符 71

6.4.4 字符串搜索 72

6.4.5 字符串修改 74

6.4.6 利用列表修改字符串 75

6.4.7 其他有用的字符串方法和常量 75

6.5 将对象转换为字符串 77

6.6 使用format方法 78

6.6.1 format方法和位置参数 78

6.6.2 format方法和命名参数 78

6.6.3 格式描述符 79

6.7 用%格式化字符串 79

6.7.1 使用格式化序列 80

6.7.2 命名参数和格式化序列 81

6.8 字符串内插 82

6.9 bytes对象 82

6.10 小结 84

第7章 字典 85

7.1 何为字典 85

7.2 字典的其他操作 87

7.3 单词计数 90

7.4 可用作字典键的对象 90

7.5 稀疏矩阵 91

7.6 将字典用作缓存 92

7.7 字典的效率 93

7.8 小结 93

第8章 流程控制 94

8.1 while循环 94

8.2 if-elif-else语句 95

8.3 for循环 96

8.3.1 range函数 97

8.3.2 用初值和步进值控制range函数 97

8.3.3 在for循环中使用break和

continue语句 98

8.3.4 for循环和元组拆包 98

8.3.5 enumerate函数 98

8.3.6 zip函数 99

8.4 列表和字典推导式 99

8.5 语句、代码块和缩进 101

8.6 布尔值和布尔表达式 103

8.6.1 大多数Python对象都能用作布尔类型 104

8.6.2 比较操作符和布尔操作符 104

8.7 编写简单的文本文件分析程序 105

8.8 小结 106

第9章 函数 107

9.1 基本的函数定义 107

9.2 多种函数参数 108

9.2.1 按位置给出形参 108

9.2.2 按形参名称传递实参 109

9.2.3 变长实参 110

9.2.4 多种参数传递方式的混用 111

9.3 将可变对象用作函数实参 111

9.4 局部变量、非局部变量和全局变量 113

9.5 将函数赋给变量 115

9.6 lambda表达式 115

9.7 生成器函数 116

9.8 装饰器 117

9.9 小结 118

第 10章 模块和作用域规则 120

10.1 何为模块 120

10.2 编写第 一个模块 121

10.3 import语句 123

10.4 模块搜索路径 124

10.5 模块内部私有名称 126

10.6 库和第三方模块 127

10.7 Python作用域规则和命名空间 127

10.8 小结 133

第 11章 Python程序 134

11.1 创建一个很简单的程序 134

11.1.1 从命令行启动脚本 135

11.1.2 命令行参数 135

11.1.3 脚本输入/输出的重定

向 136

11.1.4 argparse模块 137

11.1.5 fileinput模块的使用 138

11.2 让脚本在UNIX下直接运行 140

11.3 macOS系统中的脚本 140

11.4 Windows中多种脚本执行方式 140

11.4.1 从命令窗口或PowerShell中启动脚本 141

11.4.2 Windows中的其他运行方式 141

11.5 程序和模块 141

11.6 发布Python应用程序 146

11.6.1 wheel包 146

11.6.2 zipapp和pex 146

11.6.3 py2exe和py2app 147

11.6.4 用freeze创建可执行程序 147

11.7 小结 147

第 12章 文件系统的使用 149

12.1 os、os.path和pathlib的对比 149

12.2 路径和路径名 150

12.2.1 绝对路径和相对路径 150

12.2.2 当前工作目录 151

12.2.3 用pathlib模块访问目录 152

12.2.4 路径名的处理 152

12.2.5 用pathlib处理路径名 154

12.2.6 常用变量和函数 155

12.3 获取文件信息 156

12.4 文件系统的其他操作 158

12.5 处理目录树下的所有文件 161

12.6 小结 162

第 13章 文件的读写 165

13.1 打开文件及file对象 165

13.2 关闭文件 166

13.3 以写入等模式打开文件 166

13.4 读写文本及二进制数据的函数 167

13.5 用pathlib读写文件 169

13.6 屏幕输入/输出及重定向 169

13.7 用struct模块读取结构化的二进制数据 172

13.8 用pickle将对象存入文件 173

13.9 用shelve保存对象 176

13.10 小结 178

第 14章 异常 179

14.1 异常简介 179

14.1.1 错误和异常处理的一般原则 179

14.1.2 异常较为正式的定义 182

14.1.3 多种异常的处理 182

14.2 Python中的异常 182

14.2.1 Python异常的类型 183

14.2.2 引发异常 185

14.2.3 捕获并处理异常 185

14.2.4 自定义新的异常 187

14.2.5 用assert语句调试程序 188

14.2.6 异常的继承架构 188

14.2.7 示例:用Python编写的磁盘写入程序 189

14.2.8 示例:正常计算过程中的异常 189

14.2.9 异常的适用场合 190

14.3 用到with关键字的上下文管理器 191

14.4 小结 192

第三部分 高级特性

第 15章 类和面向对象编程 195

15.1 定义类 195

15.2 实例变量 196

15.3 方法 197

15.4 类变量 199

15.5 静态方法和类方法 201

15.5.1 静态方法 201

15.5.2 类方法 202

15.6 继承 203

15.7 类及实例变量的继承 205

15.8 概括:Python类的基础知识 206

15.9 私有变量和私有方法 208

15.10 用@property获得更为灵活的实例变量 209

15.11 类实例的作用域规则和命名空间 210

15.12 析构函数和内存管理 214

15.13 多重继承 214

15.14 小结 216

第 16章 正则表达式 218

16.1 何为正则表达式 218

16.2 带特殊字符的正则表达式 219

16.3 正则表达式和原始字符串 220

16.4 从字符串提取出匹配文本 221

16.5 用正则表达式替换文本 224

16.6 小结 226

第 17章 数据类型即对象 227

17.1 类型即对象 227

17.2 类型的使用 228

17.3 类型和用户自定义类 228

17.4 鸭子类型 230

17.5 何为特殊方法属性 231

17.6 让对象像列表一样工作 232

17.7 特殊方法属性__getitem__ 232

17.7.1 工作原理 233

17.7.2 实现完整的列表功能 234

17.8 完整实现列表功能的对象 235

17.9 由内置类型派生子类 237

17.9.1 由列表类型派生子类 237

17.9.2 由UserList派生子类 238

17.10 特殊方法属性的适用场景 239

17.11 小结 239

第 18章 包 240

18.1 何为包 240

18.2 包的第 一个示例 240

18.3 包的实际例子 242

18.3.1 包内的__init__.py文件 243

18.3.2 mathproj包的基本用法 243

18.3.3 子包和子模块的加载 244

18.3.4 包内的import语句 245

18.4 __all__属性 246

18.5 包的合理使用 246

18.6 小结 247

第 19章 Python库的使用 248

19.1 "功能齐备"的标准

库 248

19.1.1 各种数据类型的

管理 248

19.1.2 文件和存储操作 250

19.1.3 操作系统服务的访问 251

19.1.4 互联网协议及其数据格式的使用 251

19.1.5 开发调试工具及运行时服务 252

19.2 标准库之外的库 253

19.3 添加其他Python库 253

19.4 通过pip和venv安装Python库 253

19.4.1 带--user标志的安装 254

19.4.2 虚拟环境 254

19.5 PyPI(即“奶酪商店”) 255

19.6 小结 255

第四部分 数据处理

第 20章 简单的文件问题 259

20.1 问题:没完没了的数据文件流 259

20.2 场景:无穷无尽的产品源数据 259

20.3 引入更多目录结构 261

20.4 节省存储空间:压缩和整理 263

20.4.1 文件压缩 263

20.4.2 文件清理 264

20.5 小结 265

第 21章 数据文件的处理 266

21.1 ETL简介 266

21.2 文本文件的读取 267

21.2.1 文本编码:ASCII、

Unicode等 267

21.2.2 非结构化文本 268

21.2.3 带分隔符的普通文本文件 270

21.2.4 csv模块 271

21.2.5 读取csv文件并存为字典的列表 274

21.3 Excel文件 275

21.4 数据清洗 276

21.4.1 清洗 276

21.4.2 排序 277

21.4.3 数据清洗时的问题和陷阱 278

21.5 数据文件的写入 279

21.5.1 CSV和其他带分隔符的文件 279

21.5.2 Excel文件的写入 280

21.5.3 数据文件打包 280

21.6 小结 281

第 22章 网络数据 282

22.1 获取文件 282

22.1.1 用Python从FTP服务器获取文件 283

22.1.2 通过SFTP协议获取文件 284

22.1.3 通过HTTP/HTTPS协议获取文件 284

22.2 通过API获取数据 285

22.3 结构化数据格式 287

22.3.1 JSON数据 287

22.3.2 XML数据 291

22.4 抓取Web数据 295

22.5 小结 299

第 23章 数据的保存 300

23.1 关系数据库 300

23.2 SQLite:sqlite3数据库的用法 301

23.3 MySQL、PostgreSQL和其他关系数据库的使用 303

23.4 利用ORM简化数据库操作 303

23.4.1 SQLAlchemy 304

23.4.2 用Alembic修改数据库结构 307

23.5 NoSQL数据库 310

23.6 用Redis实现键/值存储 310

23.7 MongoDB中的文档 313

23.8 小结 315

第 24章 数据探索 316

24.1 Python的数据探索工具 316

24.1.1 Python用于数据探索的优势 316

24.1.2 Python能比电子表格做得更好 317

24.2 Jupyter记事本 317

24.2.1 启动内核 318

24.2.2 执行单元格中的代码 318

24.3 Python和pandas 319

24.3.1 为什么要选用

pandas 319

24.3.2 pandas的安装 320

24.3.3 Data Frame 320

24.4 数据清洗 322

24.4.1 用pandas加载并保存数据 322

24.4.2 用Data Frame进行数据清洗 324

24.5 数据聚合和处理 326

24.5.1 Data Frame的合并 326

24.5.2 数据选取 327

24.5.3 分组与聚合 328

24.6 数据绘图 329

24.7 不用pandas的理由 330

24.8 小结 331

第 25章 案例研究 332

25.1 数据的下载 332

25.2 解析inventory数据 335

25.3 根据经纬度选择一个观测站 336

25.4 选择观测站并获取其元数据 338

25.5 获取并解析真实的天气数据 341

25.5.1 获取数据 341

25.5.2 解析天气数据 341

25.6 将天气数据存入数据库(可选) 344

25.7 选取数据并作图 345

25.8 用pandas对数据绘图 346

附录A Python文档使用指南 347

习题答案(异步社区下载)

python快速入门第3版 数据_Python 快速入门 第3版相关推荐

  1. python爬取去哪网数据_Python爬虫入门:使用Python爬取网络数据

    1 网络爬虫 引用百度百科的定义:网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. 简单的说,就是有一个程序可以自动去访问网页. 2 Python爬虫 如何实现爬虫? 简单的讲,一共 ...

  2. python编程入门第3版pdf-Python编程入门第3版PDF电子书免费下载

    本文档的主要内容详细介绍的是Python编程入门第3版PDF电子书免费下载. Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,自20世纪90年代初诞生至今,逐渐被广泛应用于处理系统 ...

  3. python编程入门第3版pdf-Python编程入门第三版

    Python编程入门第三版PDF下载.Python编程入门第三版PDF是一款为Python编程人员制作的一款专业的Python编程从业基础教程,大量的实战例子让你轻松驾驭各种场景! Python编程入 ...

  4. 树莓派从零开始快速入门第8讲——单总线(以DS18B20为例)

    树莓派从零开始快速入门第8讲--单总线(以DS18B20为例) 目录 树莓派从零开始快速入门第8讲--单总线(以DS18B20为例) 一.前言 二.硬件连接 三.使能1-write接口 四.通讯测试 ...

  5. 树莓派从零开始快速入门第9讲——串口

    树莓派从零开始快速入门第9讲--串口 目录 树莓派从零开始快速入门第9讲--串口 一.前言 二.配置串口 三.串口收发测试 1.查询端口 2.串口调试 四.程序编写并运行 五.结束语 一.前言 串口是 ...

  6. 树莓派从零开始快速入门第5讲——点亮LED

    树莓派从零开始快速入门第5讲--点亮LED 目录 树莓派从零开始快速入门第5讲--点亮LED 一.前言 二.引脚对照表 三.硬件连接 四.编写程序 1.编程方式简述 2.python编程 五.结束语 ...

  7. 树莓派从零开始快速入门第0讲——环境安装

    树莓派从零开始快速入门第0讲--环境安装 目录 树莓派从零开始快速入门第0讲--环境安装 一.前言 二.硬件准备 1. 树莓派(必选) 2. SD卡(必选) 3. 读卡器(必选) 4. 电源(必选) ...

  8. Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏

    Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏 即使是现在,很多初学游戏开发的同学,在谈到Unity的时候,依然会认为Unity只能用于制作3D游戏的.实际上,Unity在2013年发布 ...

  9. [猿来小课]Python开发入门第三讲:Python的安装

    今天猿来小课的老师给想要学习python开发语言的同学们讲一讲Python的安装,手把手带着大家完成学习python开发第一步.有条件的小伙伴跟着我一起来实战操作吧. 猿来Python开发入门第三讲: ...

最新文章

  1. Hadoop集群中运行MapReduce程序错误记录
  2. 网易实战分享|实时音视频会议场景下QoS策略
  3. java 9 module_Java 9:欢迎来到Module World
  4. 有用的Copy-On-write,写时复制
  5. 编辑电线标注及图纸上从主电源线上引出多条支路时如何进行线号的编写?
  6. 如何查看windows xp系统的位数?
  7. 大数据之-Hadoop3.x_MapReduce_切片机制与MapTask并行度决定机制---大数据之hadoop3.x工作笔记0102
  8. Best Time to Buy and Sell Stock III O(n) 求解方法
  9. (转)iOS 常用宏定义
  10. 4.大数据架构详解:从数据获取到深度学习 --- 数据获取
  11. Android花样Text设置神器之SpanableString
  12. 计算机毕设(附源码)JAVA-SSM基于Yigo平台库房管理系统
  13. (三)夯基础——urllib基本库的使用1.0
  14. 华为设备配置BGP负载分担
  15. androbench测存储速率
  16. hpet 定时器中断 8259 linux,[OSDEV]编程高精度定时器(HPET)
  17. 加载页面前执行js脚本,实现浏览器指纹变更
  18. dos的cd命令输入cd d: 怎么不能切换到D盘了?
  19. php调扫描仪,扫描仪使用技巧
  20. 【Eelectron-vue】构建桌面应用(20)-electron的退出quit和exit

热门文章

  1. 微服务注册中心如何承载大型系统的千万级访问?
  2. Spring-Security-入门(一):登录与退出
  3. html页面怎样禁止复制粘贴,javascript中如何禁止复制粘贴?
  4. android webview腾讯,Android webview无法播放腾讯视频问题
  5. 如何将oracle数据库中的表结构导入到sqlserver中,Oracle转换成SqlServer数据库的步骤...
  6. react前端封装接口弹出错误_在react项目中用es6封装ajax请求,组件中调用总是报错,求解?...
  7. leetcode二维查找
  8. pytorch permute维度转换
  9. flask管理不同的路由
  10. python中list与array互相转换