python从简单到精通_零基础学Python从入门到精通

第1章 走进Python……………………… 1

1.1 Python编程语言概述………………… 1

1.1.1 Python的历史… …………………… 1

1.1.2 Python的设计哲学与应用范围… … 2

1.1.3 Python 2和Python 3… ……………… 4

1.2 学好Python的建议…………………… 5

1.2.1 Python语言的特点… ……………… 5

1.2.2 如何学习Python?… ……………… 6

1.3 Python官方文档……………………… 7

1.4 常用软件……………………………… 7

1.5 Python开发社区……………………… 8

第2章 安装和运行Python……………… 9

2.1 在Windows上安装Python…………… 9

2.1.1 安装Python… ……………………… 10

2.1.2 运行Python… ……………………… 11

第1章 走进Python……………………… 1

1.1 Python编程语言概述………………… 1

1.1.1 Python的历史… …………………… 1

1.1.2 Python的设计哲学与应用范围… … 2

1.1.3 Python 2和Python 3… ……………… 4

1.2 学好Python的建议…………………… 5

1.2.1 Python语言的特点… ……………… 5

1.2.2 如何学习Python?… ……………… 6

1.3 Python官方文档……………………… 7

1.4 常用软件……………………………… 7

1.5 Python开发社区……………………… 8

第2章 安装和运行Python……………… 9

2.1 在Windows上安装Python…………… 9

2.1.1 安装Python… ……………………… 10

2.1.2 运行Python… ……………………… 11

2.1.3 安装文本编辑器…………………… 12

2.2 在Mac上安装Python… ……………… 15

2.2.1 安装Python… ……………………… 15

2.2.2 运行Python… ……………………… 16

2.2.3 安装文本编辑器…………………… 16

2.3 在Linux上安装Python… …………… 18

2.3.1 安装Python… ……………………… 18

2.3.2 运行Python… ……………………… 19

2.4 小结…………………………………… 20

第3章 小试Python…………………… 21

3.1 开始Python编程……………………… 21

3.1.1 数字………………………………… 21

3.1.2 字符串……………………………… 23

3.1.3 列表………………………………… 28

3.2 其他常见类型………………………… 29

3.2.1 字面量……………………………… 29

3.2.2 布尔类型…………………………… 29

3.2.3 常量………………………………… 30

3.3 运算符………………………………… 30

3.3.1 算术运算符………………………… 30

3.3.2 比较运算符………………………… 31

3.3.3 赋值运算符………………………… 32

3.3.4 位运算符…………………………… 34

3.3.5 逻辑运算符………………………… 34

3.3.6 关键字in和is… …………………… 35

3.4 表达式………………………………… 36

3.5 小结…………………………………… 36

3.6 知识拓展……………………………… 36

3.6.1 运算符优先级……………………… 36

3.6.2 注释………………………………… 37

第4章 数据结构… …………………… 38

4.1 通用序列操作………………………… 38

4.1.1 索引………………………………… 38

4.1.2 切片………………………………… 40

4.1.3 序列相加…………………………… 50

4.1.4 序列重复…………………………… 51

4.1.5 成员资格…………………………… 52

4.1.6 长度、 小值、 大值和求和…… 54

4.2 列表…………………………………… 55

4.2.1 列表 新…………………………… 55

4.2.2 增加元素…………………………… 56

4.2.3 删除元素…………………………… 58

4.2.4 查找元素…………………………… 60

4.2.5 队列的其他操作…………………… 61

4.3 元组…………………………………… 62

4.3.1 定义元组…………………………… 62

4.3.2 删除元组…………………………… 63

4.3.3 元组的其他操作…………………… 64

4.4 字典…………………………………… 65

4.4.1 定义字典…………………………… 65

4.4.2 使用字典…………………………… 66

4.4.3 字典的其他操作…………………… 68

4.5 小结…………………………………… 74

4.6 知识拓展……………………………… 74

4.6.1 集合………………………………… 74

4.6.2 列表推导式、字典推导式和集合

推导式……………………………… 77

第5章 流程控制… …………………… 79

5.1 if判断… ……………………………… 79

5.1.1 if语句… …………………………… 79

5.1.2 else语句… ………………………… 83

5.1.3 elif语句……………………………… 83

5.2 循环…………………………………… 85

5.2.1 while循环…………………………… 85

5.2.2 for循环……………………………… 86

5.2.3 break和continue语句… …………… 90

5.3 小结…………………………………… 91

5.4 知识拓展……………………………… 91

5.4.1 pass语句… ………………………… 91

5.4.2 循环语句中的else… ……………… 94

第6章 函 数… ……………………… 97

6.1 函数的概念…………………………… 97

6.2 函数的定义…………………………… 97

6.3 函数参数……………………………… 98

6.3.1 必须参数…………………………… 99

6.3.2 关键字参数 ……………………… 100

6.3.3 默认参数………………………… 101

6.3.4 可变参数………………………… 103

6.4 变量作用域………………………… 106

6.4.1 局部变量………………………… 106

6.4.2 全局变量………………………… 108

6.5 函数返回值………………………… 109

6.6 Lambda表达式… ………………… 112

6.7 小结………………………………… 114

6.8 知识拓展…………………………… 114

6.8.1 文档字符串……………………… 114

6.8.2 内置函数………………………… 116

6.8.3 函数注释………………………… 117

第7章 面向对象… …………………… 119

7.1 面向对象介绍……………………… 119

7.1.1 对象……………………………… 121

7.1.2 类………………………………… 123

7.2 Python与面向对象………………… 123

7.2.1 介绍……………………………… 124

7.2.2 定义语法………………………… 124

7.2.3 类的使用………………………… 125

7.2.4 类的构造方法…………………… 125

7.2.5 类的属性………………………… 126

7.2.6 类中的方法……………………… 127

7.2.7 私有属性………………………… 128

7.2.8 私有方法………………………… 130

7.3 继承和多态………………………… 130

7.3.1 继承……………………………… 130

7.3.2 多态……………………………… 135

7.3.3 鸭子类型………………………… 138

7.4 小结………………………………… 140

7.5 知识拓展…………………………… 140

7.5.1 类变量和实例变量……………… 140

7.5.2 静态方法与类方法……………… 141

第8章 错误和异常… ………………… 143

8.1 语法错误…………………………… 143

8.2 异常………………………………… 144

8.3 处理异常…………………………… 146

8.4 抛出异常…………………………… 148

8.5 finally子句… ……………………… 150

8.6 小结………………………………… 151

8.7 知识拓展…………………………… 152

自定义异常……………………………… 152

第9章 模 块… ……………………… 154

9.1 介绍………………………………… 154

9.2 模块………………………………… 154

9.2.1 模块介绍………………………… 154

9.2.2 __name__变量…………………… 155

9.2.3 dir函数…………………………… 156

9.2.4 使用模块………………………… 157

9.3 包…………………………………… 158

9.3.1 使用包…………………………… 158

9.3.2 包在多目录中使用……………… 159

9.4 标准库……………………………… 160

9.4.1 sys………………………………… 160

9.4.2 os… ……………………………… 166

9.4.3 math… …………………………… 169

9.4.4 random… ………………………… 172

9.5 安装第三方库……………………… 175

9.5.1 Linux以及Mac OS平台…………… 175

9.5.2 Windows平台… ………………… 177

9.6 小结………………………………… 178

9.7 知识拓展…………………………… 179

9.7.1 globals和locals函数……………… 179

9.7.2 pyc文件… ……………………… 183

0章 文件与IO… ………………… 184

10.1 打开文件… ……………………… 184

10.1.1 文件模式… …………………… 184

10.1.2 文件编码… …………………… 185

10.1.3 文件缓冲… …………………… 186

10.2 文件基本操作… ………………… 186

10.2.1 读文件… ……………………… 186

10.2.2 写文件… ……………………… 187

10.2.3 按行读文件… ………………… 188

10.2.4 按行写文件… ………………… 189

10.2.5 关闭文件… …………………… 190

10.3 StringIO和BytesIO… …………… 192

10.4 序列化与反序列化… …………… 194

10.4.1 pickle模块… …………………… 194

10.4.2 JSON序列化与反序列化… …… 197

10.5 小结… …………………………… 200

1章 日期和时间………………… 201

11.1 基本概念… ……………………… 201

11.1.1 时间戳… ……………………… 201

11.1.2 时间日期格式化符号… ……… 202

11.1.3 时间元组… …………………… 203

11.2 time模块… ……………………… 203

11.2.1 time函数………………………… 203

11.2.2 localtime函数…………………… 204

11.2.3 mktime函数… ………………… 204

11.2.4 gmtime函数… ………………… 205

11.2.5 asctime函数… ………………… 206

11.2.6 ctime函数… ………… 206

11.2.7 sleep函数… …………………… 207

11.2.8 clock函数… …………………… 207

11.2.9 strftime函数… ………………… 208

11.2.10 strptime函数…………………… 209

11.3 datetime模块……………………… 209

11.3.1 date对象………………………… 209

11.3.2 time对象………………………… 212

11.3.3 datetime对象… ………………… 213

11.3.4 timedelta对象…………………… 216

11.3.5 tzinfo对象… …………………… 217

11.4 calendar模块……………………… 218

11.5 小结… …………………………… 222

11.6 知识拓展… ……………………… 223

11.6.1 dateutil介绍… ………………… 223

11.6.2 使用dateutil… ………………… 223

2章 多线程与并行……………… 227

12.1 线程和进程介绍… ……………… 227

12.1.1 进程基本概念… ……………… 227

12.1.2 线程基本概念… ……………… 228

12.1.3 多线程基本概念… …………… 228

12.1.4 Python与全局解释器锁………… 229

12.2 Python线程模块… ……………… 229

12.2.1 _thread模块… ………………… 229

12.2.2 Threading.Thread… …………… 233

12.2.3 线程同步… …………………… 237

12.2.4 队列… ………………………… 241

12.3 Python进程模块… ……………… 244

12.3.1 os模块…………………………… 244

12.3.2 subprocess模块… ……………… 246

12.3.3 multiprocessing.Process… ……… 249

12.4 小结… …………………………… 253

12.5 知识拓展… ……………………… 253

12.5.1 进程池… ……………………… 253

12.5.2 线程池… ……………………… 256

3章 正则表达式………………… 259

13.1 正则表达式介绍… ……………… 259

13.2 正则表达式语法… ……………… 260

13.2.1 普通字符… …………………… 260

13.2.2 字符转义… …………………… 262

13.2.3 元字符… ……………………… 262

13.2.4 限定符… ……………………… 263

13.2.5 定位符… ……………………… 264

13.2.6 分组构造… …………………… 265

13.2.7 匹配模式… …………………… 265

13.3 re模块… ………………………… 266

13.3.1 re模块介绍……………………… 266

13.3.2 compile函数… ………………… 267

13.3.3 match函数… …………………… 267

13.3.4 re.search………………………… 268

13.3.5 re.findall………………………… 269

13.3.6 re.split…………………………… 269

13.3.7 re.sub… ………………………… 270

13.4 小结… …………………………… 270

13.5 知识拓展… ……………………… 271

13.5.1 re模块的分组匹配……………… 271

13.5.2 贪婪与非贪婪匹配… ………… 272

13.5.3 零宽断言… …………………… 272

13.5.4 常用正则表达式参考… ……… 273

4章 邮件处理…………………… 282

14.1 电子邮件介绍… ………………… 282

14.1.1 电子邮件简介… ……………… 282

14.1.2 电子邮件格式… ……………… 282

14.1.3 电子邮件工作原理… ………… 283

14.2 发送电子邮件… ………………… 284

14.2.1 SMTP发送电子邮件… ………… 284

14.2.2 发送HTML格式的电子邮件… … 286

14.2.3 发送带附件的邮件… ………… 287

14.2.4 发送图片… …………………… 289

14.3 接收电子邮件… ………………… 291

14.3.1 使用POP3协议下载邮件… …… 291

14.3.2 使用IMAP协议下载邮件… …… 293

14.3.3 解析邮件… …………………… 294

14.4 小结… …………………………… 296

5章 加密解密…………………… 297

15.1 加密技术概述… ………………… 297

15.1.1 加密技术介绍… ……………… 297

15.1.2 对称加密算法… ……………… 299

15.1.3 非对称加密算法… …………… 299

15.1.4 数字签名… …………………… 300

15.2 Python加密技术… ……………… 301

15.2.1 使用MD5加密… ……………… 301

15.2.2 使用SHA加密… ……………… 304

15.2.3 使用DES加密…………………… 304

15.2.4 使用AES加密…………………… 306

15.2.5 使用RSA加密…………………… 308

15.3 加密技术使用场景… …………… 311

15.3.1 密码存储… …………………… 311

15.3.2 base64加密……………………… 311

15.4 小结… …………………………… 312

15.5 知识拓展… ……………………… 312

15.5.1 密码学之父… ………………… 312

15.5.2 万维网的发展… ……………… 312

15.5.3 Hash在密码学的应用… ……… 313

15.5.4 加盐算法… …………………… 313

6章 网络编程…………………… 314

16.1 计算机网络介绍… ……………… 314

16.1.1 OSI七层模型…………………… 314

16.1.2 TCPIP协议介绍… …………… 315

16.1.3 什么是IP地址?… …………… 315

16.1.4 什么是子网掩码?… ………… 316

16.1.5 域名… ………………………… 317

16.2 Python底层网络模块… ………… 317

16.2.1 Socket简介……………………… 317

16.2.2 socket模块……………………… 318

16.2.3 socket对象方法………………… 319

16.3 TCP编程… ……………………… 321

16.3.1 客户端… ……………………… 321

16.3.2 服务端… ……………………… 324

16.4 UDP编程… ……………………… 326

16.5 urllib模块… ……………………… 328

16.5.1 GET请求………………………… 328

16.5.2 POST请求… …………………… 330

16.6 小结… …………………………… 332

16.7 知识拓展… ……………………… 332

16.7.1 requests模块介绍… …………… 332

16.7.2 requests模块简单使用… ……… 333

7章 MySQL数据库… …………… 337

17.1 MySQL介绍… …………………… 337

17.2 MySQL工具介绍… ……………… 337

17.2.1 MySQL 控制台客户端… ……… 337

17.2.2 MySQL Workbench软件………… 338

17.3 数据库管理… …………………… 338

17.3.1 创建数据库… ………………… 338

17.3.2 选择数据库… ………………… 339

17.3.3 查看数据库… ………………… 340

17.3.4 修改数据库… ………………… 341

17.3.5 删除数据库… ………………… 341

17.4 字段类型… ……………………… 342

17.4.1 数值类型… …………………… 342

17.4.2 字符串类型… ………………… 343

17.4.3 时间类型… …………………… 344

17.5 数据表操作… …………………… 345

17.5.1 创建数据表… ………………… 345

17.5.2 查看数据表… ………………… 348

17.5.3 修改数据表… ………………… 350

17.5.4 删除数据表… ………………… 353

17.6 数据库语句… …………………… 353

17.6.1 新增数据… …………………… 353

17.6.2 查询数据… …………………… 354

17.6.3 修改数据… …………………… 354

17.6.4 删除数据… …………………… 355

17.6.5 replace操作… ………………… 355

17.7 数据表字符集… ………………… 356

17.7.1 查看字符集… ………………… 357

17.7.2 设置字符集… ………………… 359

17.7.3 处理乱码… …………………… 360

17.8 数据库索引… …………………… 361

17.8.1 索引介绍… …………………… 361

17.8.2 索引… …………………… 361

17.8.3 普通索引… …………………… 362

17.9 小结… …………………………… 363

17.10 知识拓展………………………… 363

17.10.1 MySQL关键字… ……………… 363

17.10.2 MySQL的发展历程… ………… 365

8章 Python操作MySQL………… 367

18.1 Python数据库API………………… 367

18.1.1 DB-API介绍… ………………… 367

18.1.2 模块接口… …………………… 367

18.1.3 错误和异常… ………………… 368

18.1.4 连接和游标对象… …………… 369

18.1.5 类型… ………………………… 372

18.2 数据库操作… …………………… 373

18.2.1 安装模块… …………………… 373

18.2.2 连接数据库… ………………… 373

18.2.3 创建表… ……………………… 374

18.2.4 插入数据… …………………… 375

18.2.5 查询数据… …………………… 376

18.2.6 新数据… …………………… 377

18.2.7 删除数据… …………………… 379

18.3 事务… …………………………… 380

18.4 小结… …………………………… 382

18.5 知识拓展… ……………………… 382

18.5.1 SQLAlchemy模块介绍… ……… 382

18.5.2 SQLAlchemy模块简单使用… … 382

9章 使用Django创建Web站点…… 385

19.1 常见的Web开发框架… ………… 385

19.1.1 Python与Web…………………… 385

19.1.2 Flask… ………………………… 385

19.1.3 Tornado… ……………………… 386

19.1.4 Django…………………………… 387

19.1.5 Pyramid… ……………………… 387

19.1.6 选择合适的框架… …………… 388

19.2 开发环境介绍… ………………… 388

19.2.1 Django安装……………………… 388

19.2.2 创建Django项目………………… 389

19.2.3 开发服务器… ………………… 391

19.3 开始Django之旅… ……………… 394

19.3.1 配置数据库… ………………… 394

19.3.2 生成Django应用………………… 395

19.3.3 创建模型… …………………… 397

19.3.4 管理站点… …………………… 399

19.3.5 编辑视图… …………………… 403

19.3.6 使用模板… …………………… 405

19.3.7 总结… ………………………… 407

19.4 小结… …………………………… 408

19.5 知识拓展… ……………………… 408

19.5.1 WSGI介绍… …………………… 408

19.5.2 实现一个简单的WSGI接口… … 409

你可能感兴趣的:(python从简单到精通)