《Python基础教程 第3版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(挪)Magnus Lie Hetland著;袁国忠译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2018
  • ISBN:7115474889
  • 页数:460 页
图书介绍:

第1章 快速上手:基础知识 1

1.1交互式解释器 1

1.2算法是什么 2

1.3数和表达式 3

1.4变量 5

1.5语句 5

1.6获取用户输入 7

1.7函数 8

1.8模块 8

1.8.1 cmath和复数 9

1.8.2回到未来 10

1.9保存并执行程序 10

1.9.1从命令提示符运行Python脚本 12

1.9.2让脚本像普通程序一样 12

1.9.3注释 13

1.10字符串 13

1.10.1单引号字符串以及对引号转义 14

1.10.2拼接字符串 15

1.10.3字符串表示str和repr 15

1.10.4长字符串、原始字符串和字节 16

1.11小结 21

1.11.1本章介绍的新函数 21

1.11.2预告 22

第2章 列表和元组 23

2.1序列概述 23

2.2通用的序列操作 24

2.2.1索引 24

2.2.2切片 26

2.2.3序列相加 28

2.2.4乘法 28

2.2.5成员资格 29

2.3列表:Python的主力 31

2.3.1函数list 31

2.3.2基本的列表操作 31

2.3.3列表方法 33

2.4元组:不可修改的序列 38

2.5小结 39

2.5.1本章介绍的新函数 40

2.5.2预告 40

第3章 使用字符串 41

3.1字符串基本操作 41

3.2设置字符串的格式:精简版 41

3.3设置字符串的格式:完整版 43

3.3.1替换字段名 43

3.3.2基本转换 44

3.3.3宽度、精度和千位分隔符 45

3.3.4符号、对齐和用0填充 46

3.4字符串方法 48

3.4.1 center 48

3.4.2 find 48

3.4.3 join 49

3.4.4 lower 50

3.4.5 replace 51

3.4.6 split 51

3.4.7 strip 51

3.4.8 translate 52

3.4.9判断字符串是否满足特定的条件 52

3.5小结 53

3.5.1本章介绍的新函数 53

3.5.2预告 53

第4章 当索引行不通时 54

4.1字典的用途 54

4.2创建和使用字典 55

4.2.1函数dict 55

4.2.2基本的字典操作 55

4.2.3将字符串格式设置功能用于字典 57

4.2.4字典方法 58

4.3小结 63

4.3.1本章介绍的新函数 63

4.3.2预告 63

第5章 条件、循环及其他语句 64

5.1再谈print和import 64

5.1.1打印多个参数 64

5.1.2导入时重命名 65

5.2赋值魔法 66

5.2.1序列解包 66

5.2.2链式赋值 67

5.2.3增强赋值 67

5.3代码块:缩进的乐趣 68

5.4条件和条件语句 69

5.4.1这正是布尔值的用武之地 69

5.4.2有条件地执行和if语句 70

5.4.3 else子句 70

5.4.4 elif子句 71

5.4.5代码块嵌套 71

5.4.6更复杂的条件 71

5.4.7断言 75

5.5循环 76

5.5.1 while循环 77

5.5.2 for循环 77

5.5.3迭代字典 78

5.5.4一些迭代工具 78

5.5.5跳出循环 80

5.5.6循环中的else子句 82

5.6简单推导 83

5.7三人行 84

5.7.1什么都不做 84

5.7.2使用del删除 85

5.7.3使用exec和eval执行字符串及计算其结果 86

5.8小结 88

5.8.1本章介绍的新函数 89

5.8.2预告 89

第6章 抽象 90

6.1懒惰是一种美德 90

6.2抽象和结构 91

6.3自定义函数 91

6.3.1给函数编写文档 92

6.3.2其实并不是函数的函数 93

6.4参数魔法 93

6.4.1值从哪里来 94

6.4.2我能修改参数吗 94

6.4.3关键字参数和默认值 98

6.4.4收集参数 100

6.4.5分配参数 102

6.4.6练习使用参数 103

6.5作用域 105

6.6递归 107

6.6.1两个经典案例:阶乘和幂 108

6.6.2另一个经典案例:二分查找 109

6.7小结 112

6.7.1本章介绍的新函数 113

6.7.2预告 113

第7章 再谈抽象 114

7.1对象魔法 114

7.1.1多态 115

7.1.2多态和方法 116

7.1.3封装 118

7.1.4继承 119

7.2类 119

7.2.1类到底是什么 119

7.2.2创建自定义类 120

7.2.3属性、函数和方法 121

7.2.4再谈隐藏 122

7.2.5类的命名空间 123

7.2.6指定超类 124

7.2.7深入探讨继承 125

7.2.8多个超类 126

7.2.9接口和内省 127

7.2.10抽象基类 128

7.3关于面向对象设计的一些思考 130

7.4小结 130

7.4.1本章介绍的新函数 131

7.4.2预告 131

第8章 异常 132

8.1异常是什么 132

8.2让事情沿你指定的轨道出错 132

8.2.1 raise语句 132

8.2.2自定义的异常类 133

8.3捕获异常 134

8.3.1不用提供参数 134

8.3.2多个except子句 136

8.3.3一箭双雕 136

8.3.4捕获对象 137

8.3.5一网打尽 137

8.3.6万事大吉时 138

8.3.7最后 139

8.4异常和函数 140

8.5异常之禅 140

8.6不那么异常的情况 142

8.7小结 143

8.7.1本章介绍的新函数 143

8.7.2预告 143

第9章 魔法方法、特性和迭代器 144

9.1如果你使用的不是Python 3 144

9.2构造函数 145

9.2.1重写普通方法和特殊的构造函数 146

9.2.2调用未关联的超类构造函数 147

9.2.3使用函数super 148

9.3元素访问 149

9.3.1基本的序列和映射协议 150

9.3.2从list、 dict和str派生 152

9.4其他魔法方法 153

9.5特性 153

9.5.1函数property 154

9.5.2静态方法和类方法 155

9.5.3 __getattr___、__setattr___等方法 156

9.6迭代器 157

9.6.1迭代器协议 157

9.6.2从迭代器创建序列 159

9.7生成器 159

9.7.1创建生成器 159

9.7.2递归式生成器 161

9.7.3通用生成器 162

9.7.4生成器的方法 162

9.7.5模拟生成器 163

9.8八皇后问题 164

9.8.1生成器的回溯 164

9.8.2问题 165

9.8.3状态表示 166

9.8.4检测冲突 166

9.8.5基线条件 166

9.8.6递归条件 167

9.8.7扫尾工作 169

9.9小结 170

9.9.1本章介绍的新函数 170

9.9.2预告 171

第10章 开箱即用 172

10.1模块 172

10.1.1模块就是程序 172

10.1.2模块是用来下定义的 174

10.1.3让模块可用 176

10.1.4包 177

10.2探索模块 178

10.2.1模块包含什么 178

10.2.2使用help获取帮助 179

10.2.3文档 180

10.2.4使用源代码 181

10.3标准库:一些深受欢迎的模块 181

10.3.1 sys 181

10.3.2 os 183

10.3.3 fileinput 185

10.3.4集合、堆和双端队列 186

10.3.5 time 190

10.3.6 random 192

10.3.7 shelve和j son 195

10.3.8 re 198

10.3.9其他有趣的标准模块 210

10.4小结 211

10.4.1本章介绍的新函数 212

10.4.2预告 212

第11章 文件 213

11.1打开文件 213

11.2文件的基本方法 214

11.2.1读取和写入 215

11.2.2使用管道重定向输出 215

11.2.3读取和写入行 217

11.2.4关闭文件 217

11.2.5使用文件的基本方法 218

11.3迭代文件内容 220

11.3.1每次一个字符(或字节) 220

11.3.2每次一行 221

11.3.3读取所有内容 221

11.3.4使用fileinput实现延迟行迭代 221

11.3.5文件迭代器 222

11.4小结 223

11.4.1本章介绍的新函数 223

11.4.2预告 224

第12章 图形用户界面 225

12.1创建GUI示例应用程序 225

12.1.1初探 226

12.1.2布局 227

12.1.3事件处理 228

12.1.4最终的程序 229

12.2使用其他GUI工具包 230

12.3小结 231

第13章 数据库支持 232

13.1 Python数据库API 232

13.1.1全局变量 233

13.1.2异常 234

13.1.3连接和游标 234

13.1.4类型 236

13.2 SQLite和PySQLite 236

13.2.1起步 237

13.2.2数据库应用程序示例 238

13.3小结 241

13.3.1本章介绍的新函数 241

13.3.2预告 241

第14章 网络编程 242

14.1几个网络模块 242

14.1.1模块socket 242

14.1.2模块urllib和urllib2 244

14.1.3其他模块 246

14.2 SocketServer及相关的类 247

14.3多个连接 247

14.3.1使用SocketServer实现分叉和线程化 249

14.3.2使用select和poll实现异步I/O 249

14.4 Twisted 252

14.4.1下载并安装Twisted 252

14.4.2编写Twisted服务器 253

14.5小结 254

14.5.1本章介绍的新函数 255

14.5.2预告 255

第15章Python和Web 256

15.1屏幕抓取 256

15.1.1 Tidy和XHTML解析 257

15.1.2 Beautiful Soup 261

15.2使用CGI创建动态网页 262

15.2.1第一步:准备Web服务器 262

15.2.2第二步:添加!#行 263

15.2.3第三步:设置文件权限 264

15.2.4 CGI安全风险 264

15.2.5简单的CGI脚本 264

15.2.6使用cgitb进行调试 265

15.2.7使用模块cgi 266

15.2.8简单的表单 267

15.3使用Web框架 269

15.4 Web服务:更高级的抓取 270

15.4.1 RSS和相关内容 270

15.4.2使用XML-RPC进行远程过程调用 271

15.4.3 SOAP 272

15.5小结 272

15.5.1本章介绍的新函数 272

15.5.2预告 272

第16章 测试基础 273

16.1先测试再编码 273

16.1.1准确的需求说明 273

16.1.2做好应对变化的准备 275

16.1.3测试四步曲 275

16.2测试工具 276

16.2.1 doctest 276

16.2.2 unittest 278

16.3超越单元测试 280

16.3.1使用PyChecker和PyLint检查源代码 280

16.3.2性能分析 283

16.4小结 284

16.4.1本章介绍的新函数 285

16.4.2预告 285

第17章 扩展Python 286

17.1鱼和熊掌兼得 286

17.2简单易行的方式:Jython和IronPython 287

17.3编写C语言扩展 289

17.3.1 SWIG 291

17.3.2手工编写扩展 294

17.4小结 298

17.4.1本章介绍的新函数 299

17.4.2预告 299

第18章 程序打包 300

18.1 Setuptools基础 300

18.2打包 302

18.3编译扩展 303

18.4使用py2exe创建可执行程序 304

18.5小结 304

18.5.1本章介绍的新函数 305

18.5.2预告 305

第19章 趣味编程 306

19.1为何要有趣 306

19.2编程柔术 306

19.3原型设计 307

19.4配置 308

19.4.1提取常量 308

19.4.2配置文件 309

19.5日志 311

19.6如果你已不胜其烦 312

19.7如果你想深入学习 312

19.8小结 313

第20章 项目1:自动添加标签 315

20.1问题描述 315

20.2有用的工具 316

20.3准备工作 316

20.4初次实现 317

20.4.1找出文本块 317

20.4.2添加一些标记 318

20.5再次实现 319

20.5.1处理程序 320

20.5.2处理程序的超类 320

20.5.3规则 322

20.5.4规则的超类 323

20.5.5过滤器 323

20.5.6解析器 323

20.5.7创建规则和过滤器 324

20.5.8整合起来 327

20.6进一步探索 331

第21章 项目2:绘制图表 332

21.1问题描述 332

21.2有用的工具 332

21.3准备工作 333

21.4初次实现 333

21.4.1使用ReportLab绘图 334

21.4.2绘制折线 335

21.4.3编写原型 335

21.5再次实现 337

21.5.1获取数据 337

21.5.2 使用Lineplot类 337

21.6进一步探索 339

第22章 项目3:万能的XM L 340

22.1问题描述 340

22.2有用的工具 341

22.3准备工作 341

22.4初次实现 343

22.4.1创建简单的内容处理程序 343

22.4.2创建HTML页面 345

22.5再次实现 347

22.5.1分派器混合类 347

22.5.2将首部和尾部写入文件的方法以及默认处理程序 349

22.5.3支持目录 349

22.5.4事件处理程序 350

22.6进一步探索 352

第23章 项目4:新闻汇总 353

23.1问题描述 353

23.2有用的工具 354

23.3准备工作 354

23.4初次实现 354

23.5再次实现 356

23.6进一步探索 362

第24章 项目5:虚拟茶话会 364

24.1问题描述 364

24.2有用的工具 364

24.3准备工作 365

24.4初次实现 366

24.4.1 ChatServer类 366

24.4.2 ChatSession类 367

24.4.3整合起来 369

24.5再次实现 371

24.5.1基本的命令解释功能 371

24.5.2聊天室 372

24.5.3登录和退出聊天室 372

24.5.4主聊天室 373

24.5.5新的服务器 373

24.6进一步探索 378

第25章 项目6:使用CGI进行远程编辑 379

25.1问题描述 379

25.2有用的工具 379

25.3准备工作 380

25.4初次实现 380

25.5再次实现 381

25.5.1创建文件名表单 381

25.5.2编写编辑器脚本 382

25.5.3编写保存脚本 383

25.5.4运行编辑器 384

25.6进一步探索 386

第26章 项目7:自建公告板 387

26.1问题描述 387

26.2有用的工具 387

26.3准备工作 388

26.4初次实现 389

26.5再次实现 393

26.5.1编写脚本main.cgi 394

26.5.2编写脚本view.cgi 395

26.5.3编写脚本edit.cgi 396

26.5.4编写脚本save.cgi 398

26.5.5尝试使用 399

26.6进一步探索 400

第27章 项目8:使用XML-RPC共享文件 401

27.1问题描述 401

27.2有用的工具 402

27.3准备工作 403

27.4初次实现 403

27.4.1实现简单的节点 403

27.4.2尝试使用 408

27.5再次实现 409

27.5.1创建客户端界面 410

27.5.2引发异常 410

27.5.3验证文件名 411

27.5.4尝试使用 415

27.6进一步探索 415

第28章 项目9:使用GUI共享文件 417

28.1问题描述 417

28.2有用的工具 417

28.3准备工作 417

28.4初次实现 417

28.5再次实现 419

28.6进一步探索 422

第29章 项目10:自制街机游戏 423

29.1问题描述 423

29.2有用的工具 424

29.2.1 pygame 424

29.2.2 pygame.locals 424

29.2.3 pygame.display 424

29.2.4 pygame.font 425

29.2.5 pygame.sprite 425

29.2.6 pygame.mouse 425

29.2.7 pygame.event 425

29.2.8 pygame.image 426

29.3准备工作 426

29.4初次实现 426

29.5再次实现 429

29.6进一步探索 438

附录A简明教程 440

附录B Python参考手册 447