图书目录

目    录

第Ⅰ部分  编程

第1章  编程导论  2

1.1  作为职业的编程  2

1.2  计算机如何工作  5

1.3  现代计算简史  9

1.3.1  Unix操作系统  9

1.3.2  现代编程  10

1.4  谈论编程语言  11

1.5  程序员的问题求解  13

第2章  编程工具  16

2.1  Shell  16

2.2  版本控制系统  19

2.3  集成开发环境  26

2.4  Web浏览器  27

第3章  关于Python  29

3.1  Python软件基金会  30

3.2  Python之禅  30

3.3  Python解释器  32

3.4  Python标准库  33

3.5  第三方库  34

3.6  版本与开发  35

第Ⅱ部分  Python

第4章  安装与运行Python  37

4.1  安装Python  37

4.1.1  Windows  37

4.1.2  macOS  38

4.1.3  Linux  39

4.2  安装和使用pip  39

4.2.1  Windows  40

4.2.2  macOS  40

4.2.3  Linux  40

4.3  安装和使用Jupyter处理IPython文件  41

4.4  虚拟环境  43

4.5  Anaconda  45

第5章  Python快速入门  47

5.1  变量  47

5.2  数据类型  49

5.3  运算符  53

5.3.1  算术运算符  53

5.3.2  运算符和赋值  55

5.3.3  比较运算符  56

5.3.4  同一性运算符  57

5.3.5  布尔运算符  58

5.3.6  成员运算符  59

5.4  控制流  59

5.4.1  if和else  60

5.4.2  for  61

5.4.3  while  61

5.5  函数  62

5.6  类  64

5.7  数据结构  66

5.7.1  列表  67

5.7.2  字典  68

5.7.3  元组  69

5.7.4  集合  70

5.8  练习  71

第6章  列表与字符串  73

6.1  字符串操作  73

6.2  列表操作  76

6.3  切片  78

6.4  列表推导式  81

6.5  练习  84

第7章  字典、集合与元组  85

7.1  字典  85

7.1.1  字典推导式  88

7.1.2  归约至字典  89

7.2  集合  91

7.3  元组  93

7.4  练习  94

第8章  其他类型的对象  97

8.1  其他数值  97

8.2  日期  101

8.3  字节  104

8.4  练习  107

第9章  可迭代对象、迭代器、生成器与循环  108

9.1  可迭代对象和迭代器  108

9.2  生成器  110

9.3  使用pass、break、else和continue进行循环  112

9.4  赋值表达式  115

9.5  海象运算符  115

9.6  递归  116

9.7  练习  120

第10章  函数  121

10.1  位置参数和关键字参数  121

10.2  函数作为一等对象  126

10.3  lambda函数  129

10.4  命名空间  130

10.5  装饰器  133

10.6  练习  138

第11章  类  140

11.1  静态方法和属性  142

11.2  继承  144

11.3  多重继承  146

11.4  封装  150

11.5  多态  153

11.6  练习  155

第12章  编写更简洁的代码  156

12.1  PEP 8与代码风格  156

12.2  注释与文档字符串  157

12.3  文档  160

12.4  代码检查  161

12.5  格式化  164

12.6  类型提示  165

第Ⅲ部分  高级主题

第13章  错误与异常  170

13.1  处理异常  170

13.2  else与finally  173

13.3  引发异常  175

13.4  自定义异常  177

13.5  异常处理模式  179

13.6  练习  185

第14章  模块与包  187

14.1  模块  187

14.2  包  191

14.3  安装包  196

14.4  练习  201

第15章  文件操作  202

15.1  读取文件  202

15.2  写入文件  206

15.3  二进制文件  208

15.4  数据缓冲  210

15.5  创建与删除文件和目录  212

15.6  数据的序列化、反序列化与封存处理  214

15.7  练习  216

第16章  日志  218

16.1  logging模块  218

16.2  日志处理器  223

16.3  格式化  225

16.4  练习  229

第17章  线程与进程  230

17.1  线程与进程的工作原理  230

17.2  线程模块  231

17.3  锁  235

17.4  队列  237

17.5  多进程模块  239

17.6  练习  246

第18章  数据库  247

18.1  安装与使用SQLite  248

18.1.1  安装SQLite  248

18.1.2  使用SQLite  249

18.2  查询语言语法  251

18.3  使用Python操作SQLite  253

18.4  练习  259

第19章  单元测试  260

19.1  单元测试框架  261

19.2  测试准备与清理  264

19.3  模拟方法  266

19.4  模拟的副作用  270

第Ⅳ部分  Python框架

第20章  REST API与Flask  274

20.1  HTTP与API  274

20.2  Flask应用程序入门  278

20.3  Flask中的API  281

20.4  数据库  283

20.5  认证  286

20.6  会话  288

20.7  模板  292

第21章  Django  295

21.1  安装Django并启动Django  296

21.2  数据库和迁移  300

21.3  Django管理界面  303

21.4  模型  304

21.5  更多视图和模板  306

21.6  更多资源  310

第22章  网页抓取与Scrapy  311

22.1  安装和使用Scrapy  312

22.2  解析HTML  314

22.3  Item  318

22.4  使用Scrapy进行爬取  319

22.5  项目管道  322

第23章  NumPy和Pandas数据分析  325

23.1  NumPy数组  326

23.2  Pandas数据框  329

23.3  清洗  331

23.4  过滤和查询  335

23.5  分组和聚合  337

第24章  使用Matplotlib和Scikit-learn进行机器学习  341

24.1  机器学习模型的类型  342

24.2  使用Matplotlib进行探索性分析  344

24.3  使用Scikit-learn构建监督模型  351

24.4  使用Scikit-learn评估分类模型  356