Python基础教程(第3版·修订版)python教程数据分析编程语言程序设计数据可视化Python编程从入门到实践
运费: | ¥ 0.00-20.00 |
商品详情
定价:108.0
ISBN:9787115613691
作者:[挪] 芒努斯·利·海特兰德
版次:第4版
出版时间:2023-05
内容提要:
本书Python新手入门*图书,涵盖了Python编程的方方面面。本书前半部分介绍了基础知识与概念:从安装Python、配置开发环境,到列表、元组、字符串、字典以及各种语句的基础知识,再到抽象、异常、方法、属性、迭代器等核心概念,Python与数据库、网络、C语言等工具结合使用,以及Python程序测试、打包、发布等知识。本书的后半部分,向读者详尽介绍了当下流行的多个Python项目的开发过程。 本次修订,不仅在结构与细节知识上进行了优化和完善,还增加了贴近真实商业环境的案例,并辅以课件PPT和专门针对求职应聘的习题,旨在帮助读者真正掌握Python开发的实战能力。
作者简介:
芒努斯·利·海特兰德,在挪威科技大学教授算法课程,是研究与使用Python的实践者,并创作了大量Python图书和教程,在中国有*过30万读者通过本书迈入Python编程的大门。
目录:
第 1章 快速上手:基础知识 1
1.1 交互式解释器 1
1.2 算法是什么 2
1.3 数和表达式 3
1.4 变量 4
1.5 语句 5
1.6 获取用户输入 6
1.7 函数 7
1.8 模块 8
1.8.1 cmath和复数 9
1.8.2 回到未来 9
1.9 保存并执行程序 10
1.9.1 从命令提示符运行Python
脚本 11
1.9.2 让脚本像普通程序一样 11
1.9.3 注释 12
1.10 字符串 13
1.10.1 单引号字符串以及对引号
转义 13
1.10.2 拼接字符串 14
1.10.3 字符串表示str和repr 14
1.10.4 长字符串、原始字符串和
字节 15
1.11 小结 20
1.11.1 本章介绍的新函数 20
1.11.2 预告 21
第 2章 列表和元组 22
2.1 序列概述 22
2.2 通用的序列操作 23
2.2.1 索引 23
2.2.2 切片 25
2.2.3 序列相加 27
2.2.4 乘法 27
2.2.5 成员资格 28
2.3 列表:Python的主力 30
2.3.1 函数list 30
2.3.2 基本的列表操作 30
2.3.3 列表方法 31
2.4 元组:不可修改的序列 37
2.5 小结 38
2.5.1 本章介绍的新函数 39
2.5.2 预告 39
第3章 使用字符串 40
3.1 字符串基本操作 40
3.2 设置字符串的格式:精简版 40
3.3 设置字符串的格式:完整版 42
3.3.1 替换字段名 42
3.3.2 基本转换 43
3.3.3 宽度、精度和千位分隔符 44
3.3.4 符号、对齐和用0填充 45
3.4 字符串方法 47
3.4.1 center 47
3.4.2 find 47
3.4.3 join 48
3.4.4 lower 49
3.4.5 replace 49
3.4.6 split 50
3.4.7 strip 50
3.4.8 translate 51
3.4.9 判断字符串是否满足特定的
条件 51
3.5 小结 51
3.5.1 本章介绍的新函数 52
3.5.2 预告 52
第4章 字典 53
4.1 字典的用途 53
4.2 创建和使用字典 54
4.2.1 函数dict 54
4.2.2 基本的字典操作 54
4.2.3 将字符串格式设置功能用于
字典 56
4.2.4 字典方法 57
4.3 小结 62
4.3.1 本章介绍的新函数 62
4.3.2 预告 62
第5章 条件、循环及其他语句 63
5.1 再谈print和import 63
5.1.1 打印*个参数 63
5.1.2 导入时重命名 64
5.2 赋值魔法 65
5.2.1 序列解包 65
5.2.2 链式赋值 66
5.2.3 增强赋值 66
5.3 代码块:缩进的乐趣 67
5.4 条件和条件语句 67
5.4.1 这正是布尔值的用武之地 68
5.4.2 有条件地执行和if语句 69
5.4.3 else子句 69
5.4.4 elif子句 70
5.4.5 代码块嵌套 70
5.4.6 更复杂的条件 70
5.4.7 断言 74
5.5 循环 75
5.5.1 while循环 75
5.5.2 for循环 76
5.5.3 迭代字典 77
5.5.4 一些迭代工具 77
5.5.5 跳出循环 79
5.5.6 循环中的else子句 81
5.6 简单推导 81
5.7 三人行 83
5.7.1 什么*不做 83
5.7.2 使用del删除 83
5.7.3 使用exec和eval执行字符串及计算其结果 84
5.8 小结 86
5.8.1 本章介绍的新函数 87
5.8.2 预告 88
第6章 函数 89
6.1 懒惰是一种美德 89
6.2 抽象和结构 90
6.3 自定义函数 90
6.3.1 给函数编写文档 91
6.3.2 其实并不是函数的函数 92
6.4 参数魔法 92
6.4.1 值从哪里来 93
6.4.2 我能修改参数吗 93
6.4.3 关键字参数和默认值 97
6.4.4 收集参数 99
6.4.5 分配参数 101
6.4.6 练习使用参数 102
6.5 作用域 104
6.6 递归 106
6.6.1 两个*案例:阶乘和幂 107
6.6.2 另一个*案例:二分查找 108
6.7 小结 111
6.7.1 本章介绍的新函数 111
6.7.2 预告 112
第7章 面向对象 113
7.1 对象魔法 113
7.1.1 多态 113
7.1.2 多态和方法 115
7.1.3 封装 116
7.1.4 继承 118
7.2 类 118
7.2.1 类到底是什么 118
7.2.2 创建自定义类 119
7.2.3 属性、函数和方法 120
7.2.4 再谈隐藏 120
7.2.5 类的命名空间 122
7.2.6 指定*类 123
7.2.7 深入探讨继承 124
7.2.8 多个*类 124
7.2.9 接口和内省 125
7.2.10 抽象基类 126
7.3 关于面向对象设计的一些思考 128
7.4 小结 128
7.4.1 本章介绍的新函数 129
7.4.2 预告 129
第8章 异常 130
8.1 异常是什么 130
8.2 让事情沿你指定的轨道出错 130
8.2.1 raise语句 130
8.2.2 自定义的异常类 131
8.3 捕获异常 132
8.3.1 不用提供参数 132
8.3.2 多个except子句 134
8.3.3 一箭双雕 134
8.3.4 捕获对象 135
8.3.5 一网打尽 135
8.3.6 万事大吉时 136
8.3.7 * 137
8.4 异常和函数 138
8.5 异常之禅 138
8.6 不那么异常的情况 140
8.7 小结 141
8.7.1 本章介绍的新函数 141
8.7.2 预告 141
第9章 魔法方法、特性和迭代器 142
9.1 构造函数 142
9.1.1 重写普通方法和特殊的构造
函数 143
9.1.2 调用未关联的*类构造函数 145
9.1.3 使用函数super 145
9.2 元素访问 146
9.2.1 基本的序列和映射协议 147
9.2.2 从list、dict和str派生 149
9.3 其他魔法方法 150
9.4 特性 150
9.4.1 函数property 151
9.4.2 静态方法和类方法 152
9.4.3 __getattr__、__setattr__等方法 153
9.5 迭代器 154
9.5.1 迭代器协议 154
9.5.2 从迭代器创建序列 156
9.6 生成器 156
9.6.1 创建生成器 156
9.6.2 递归式生成器 157
9.6.3 通用生成器 159
9.6.4 生成器的方法 159
9.6.5 模拟生成器 160
9.7 八皇后问题 161
9.7.1 生成器的回溯 161
9.7.2 问题 161
9.7.3 状态表示 162
9.7.4 检测冲突 162
9.7.5 基线条件 163
9.7.6 递归条件 163
9.7.7 扫尾工作 165
9.8 小结 165
9.8.1 本章介绍的新函数 166
9.8.2 预告 166
第 10章 模块 167
10.1 模块概述 167
10.1.1 模块*是程序 167
10.1.2 模块是用来下定义的 169
10.1.3 让模块可用 171
10.1.4 包 172
10.2 探索模块 173
10.2.1 模块包含什么 173
10.2.2 使用help获取帮助 174
10.2.3 文档 175
10.2.4 使用源代码 176
10.3 标准库:一些深受欢迎的模块 176
10.3.1 sys 176
10.3.2 os 178
10.3.3 fileinput 180
10.3.4 集合、堆和双端队列 181
10.3.5 time 186
10.3.6 random 187
10.3.7 shelve和json 190
10.3.8 re 193
10.3.9 其他有趣的标准模块 205
10.4 小结 207
10.4.1 本章介绍的新函数 207
10.4.2 预告 207
第 11章 文件 208
11.1 打开文件 208
11.2 文件的基本方法 209
11.2.1 读取和写入 210
11.2.2 使用管道重定向输出 210
11.2.3 读取和写入行 212
11.2.4 关闭文件 212
11.2.5 使用文件的基本方法 213
11.3 迭代文件内容 215
11.3.1 每次一个字符(或字节) 215
11.3.2 每次一行 216
11.3.3 读取所有内容 216
11.3.4 使用fileinput实现延迟行迭代 216
11.3.5 文件迭代器 217
11.4 小结 218
11.4.1 本章介绍的新函数 218
11.4.2 预告 218
第 12章 图形用户界面 219
12.1 创建GUI示例应用程序 219
12.1.1 初探 220
12.1.2 布局 221
12.1.3 事件处理 222
12.1.4 *终的程序 223
12.2 使用其他GUI工具包 224
12.3 小结 225
第 13章 数据库 226
13.1 Python数据库API 226
13.1.1 全局变量 227
13.1.2 异常 227
13.1.3 连接和游标 228
13.1.4 类型 230
13.2 SQLite和PySQLite 230
13.2.1 起步 231
13.2.2 数据库应用程序示例 231
13.3 小结 234
13.3.1 本章介绍的新函数 234
13.3.2 预告 234
晓阳 14:49:17
第 14章 网络编程 235
14.1 几个网络模块 235
14.1.1 模块socket 235
14.1.2 模块urllib和urllib2 237
14.1.3 其他模块 239
14.2 SocketServer及相关的类 240
14.3 多个连接 240
14.3.1 使用SocketServer实现
分叉和线程化 242
14.3.2 使用select和poll实现
异步I/O 242
14.4 Twisted 245
14.4.1 下载并安装Twisted 245
14.4.2 编写Twisted服务器 245
14.5 小结 247
14.5.1 本章介绍的新函数 248
14.5.2 预告 248
第 15章 Python和Web 249
15.1 屏幕抓取 249
15.1.1 Tidy和XHTML解析 250
15.1.2 Beautiful Soup 254
15.2 使用CGI创建动态网页 255
15.2.1 第 一步:准备Web服务器 255
15.2.2 *步:添加!#行 256
15.2.3 第三步:设置文件权限 256
15.2.4 CGI*风险 257
15.2.5 简单的CGI脚本 257
15.2.6 使用cgitb进行调试 258
15.2.7 使用模块cgi 259
15.2.8 简单的表单 260
15.3 使用Web框架 261
15.4 Web服务:更*的抓取 262
15.4.1 RSS和相关内容 263
15.4.2 使用XML-RPC进行远程
过程调用 263
15.4.3 SOAP 264
15.5 小结 264
15.5.1 本章介绍的新函数 265
15.5.2 预告 265
第 16章 测试基础 266
16.1 先测试再编码 266
16.1.1 *的需求说明 266
16.1.2 做好应对变化的准备 268
16.1.3 测试四步曲 268
16.2 测试工具 269
16.2.1 doctest 269
16.2.2 unittest 271
16.3 *越单元测试 273
16.3.1 使用PyChecker和PyLint
检查源代码 273
16.3.2 性能分析 276
16.4 小结 277
16.4.1 本章介绍的新函数 278
16.4.2 预告 278
第 17章 扩展Python 279
17.1 鱼和熊掌兼得 279
17.2 简单易行的方式:Jython和
IronPython 280
17.3 编写C语言扩展 282
17.3.1 SWIG 284
17.3.2 手工编写扩展 287
17.4 小结 291
17.4.1 本章介绍的新函数 291
17.4.2 预告 291
第 18章 程序打包 292
18.1 Setuptools基础 292
18.2 打包 294
18.3 编译扩展 295
18.4 使用py2exe创建可执行程序 296
18.5 小结 296
18.5.1 本章介绍的新函数 297
18.5.2 预告 297
第 19章 趣味编程 298
19.1 为何要有趣 298
19.2 编程柔术 298
19.3 原型设计 299
19.4 配置 300
19.4.1 提取常量 300
19.4.2 配置文件 301
19.5 日志 303
19.6 如果你已不胜其烦 304
19.7 如果你想深入学习 304
19.8 小结 305
第 20章 项目1:自动添加标签 306
20.1 问题描述 306
20.2 有用的工具 307
20.3 准备工作 307
20.4 *实现 308
20.4.1 找出文本块 308
20.4.2 添加一些标记 309
20.5 再次实现 310
20.5.1 处理程序 311
20.5.2 处理程序的*类 311
20.5.3 规则 313
20.5.4 规则的*类 314
20.5.5 过滤器 314
20.5.6 解析器 314
20.5.7 创建规则和过滤器 315
20.5.8 整合起来 318
20.6 进一步探索 322
第 21章 项目2:绘制图表 323
21.1 问题描述 323
21.2 有用的工具 323
21.3 准备工作 324
21.4 *实现 324
21.4.1 使用ReportLab绘图 325
21.4.2 绘制折线 326
21.4.3 编写原型 326
21.5 再次实现 328
21.5.1 获取数据 328
21.5.2 使用LinePlot类 328
21.6 进一步探索 330
第 22章 项目3:*的XML 331
22.1 问题描述 331
22.2 有用的工具 332
22.3 准备工作 332
22.4 *实现 333
22.4.1 创建简单的内容处理程序 334
22.4.2 创建HTML页面 336
22.5 再次实现 338
22.5.1 分派器混合类 338
22.5.2 将*部和尾部写入文件的
方法以及默认处理程序 339
22.5.3 支持目录 340
22.5.4 事件处理程序 340
22.6 进一步探索 343
第 23章 项目4:新闻汇总 344
23.1 问题描述 344
23.2 有用的工具 345
23.3 准备工作 345
23.4 *实现 345
23.5 再次实现 347
23.6 进一步探索 353
第 24章 项目5:虚拟茶话会 355
24.1 问题描述 355
24.2 有用的工具 355
24.3 准备工作 356
24.4 *实现 357
24.4.1 ChatServer类 357
24.4.2 ChatSession类 358
24.4.3 整合起来 360
24.5 再次实现 362
24.5.1 基本的命令解释功能 362
24.5.2 聊天室 363
24.5.3 登录和退出聊天室 363
24.5.4 主聊天室 364
24.5.5 新的服务器 364
24.6 进一步探索 369
第 25章 项目6:使用CGI进行远程
编辑 370
25.1 问题描述 370
25.2 有用的工具 370
25.3 准备工作 371
25.4 *实现 371
25.5 再次实现 372
25.5.1 创建文件名表单 372
25.5.2 编写编辑器脚本 373
25.5.3 编写保存脚本 374
25.5.4 运行编辑器 375
25.6 进一步探索 377
第 26章 项目7:自建公告板 378
26.1 问题描述 378
26.2 有用的工具 378
26.3 准备工作 379
26.4 *实现 380
26.5 再次实现 384
26.5.1 编写脚本main.cgi 385
26.5.2 编写脚本view.cgi 386
26.5.3 编写脚本edit.cgi 387
26.5.4 编写脚本save.cgi 389
26.5.5 尝试使用 390
26.6 进一步探索 391
第 27章 项目8:使用XML-RPC共享
文件 392
27.1 问题描述 392
27.2 有用的工具 393
27.3 准备工作 394
27.4 *实现 394
27.4.1 实现简单的节点 394
27.4.2 尝试使用 399
27.5 再次实现 400
27.5.1 创建客户端界面 401
27.5.2 引发异常 401
27.5.3 验证文件名 402
27.5.4 尝试使用 406
27.6 进一步探索 406
第 28章 项目9:使用GUI共享文件 408
28.1 问题描述 408
28.2 有用的工具 408
28.3 准备工作 408
28.4 *实现 408
28.5 再次实现 410
28.6 进一步探索 413
第 29章 项目10:自制街机游戏 414
29.1 问题描述 414
29.2 有用的工具 415
29.2.1 pygame 415
29.2.2 pygame.locals 415
29.2.3 pygame.display 415
29.2.4 pygame.font 416
29.2.5 pygame.sprite 416
29.2.6 pygame.mouse 416
29.2.7 pygame.event 416
29.2.8 pygame.image 417
29.3 准备工作 417
29.4 *实现 417
29.5 再次实现 420
29.6 进一步探索 429
附录A 简明教程 430
附录B Python参考手册 437
- 人民邮电出版社有限公司 (微信公众号认证)
- 人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...