Movatterモバイル変換


[0]ホーム

URL:


登录/注册
下载豆瓣客户端
豆瓣6.0 全新发布×

豆瓣

扫码直接下载

iPhone·Android
豆瓣读书
搜索:

Python核心编程(第3版)

Python核心编程(第3版)
作者: [美] Wesley Chun
出版社:人民邮电出版社
译者: 孙波翔 / 李晗 / 李斌
出版年: 2016-5
页数: 660
定价: CNY 99.00
装帧: 平装
ISBN: 9787115414779
豆瓣评分
5星
16.0%
4星
35.2%
3星
34.0%
2星
8.6%
1星
6.1%
评价:

内容简介  · · · · · ·

《Python核心编程(第3版)》是经典畅销图书《Python核心编程(第二版)》的全新升级版本,总共分为3部分。第1部分为讲解了Python的一些通用应用,包括正则表达式、网络编程、Internet客户端编程、多线程编程、GUI编程、数据库编程、Microsoft Office编程、扩展Python等内容。第2部分讲解了与Web开发相关的主题,包括Web客户端和服务器、CGI和WSGI相关的Web编程、Django Web框架、云计算、高级Web服务。第3部分则为一个补充/实验章节,包括文本处理以及一些其他内容。

《Python核心编程(第3版)》适合具有一定经验的Python开发人员阅读。

目录  · · · · · ·

第1部分 通用应用主题
第1章 正则表达式 2
1.1 简介/动机 3
1.2 特殊符号和字符 5
1.2.1 使用择一匹配符号匹配多个正则表达式模式 6
1.2.2 匹配任意单个字符 6
· · · · · · (更多)
第1部分 通用应用主题
第1章 正则表达式 2
1.1 简介/动机 3
1.2 特殊符号和字符 5
1.2.1 使用择一匹配符号匹配多个正则表达式模式 6
1.2.2 匹配任意单个字符 6
1.2.3 从字符串起始或者结尾或者单词边界匹配 7
1.2.4 创建字符集 8
1.2.5 限定范围和否定 8
1.2.6 使用闭包操作符实现存在性和频数匹配 9
1.2.7 表示字符集的特殊字符 10
1.2.8 使用圆括号指定分组 10
1.2.9 扩展表示法 11
1.3 正则表达式和Python语言 11
1.3.1 re模块:核心函数和方法 12
1.3.2 使用compile()函数编译正则表达式 13
1.3.3 匹配对象以及group()和groups()方法 14
1.3.4 使用match()方法匹配字符串 14
1.3.5 使用search()在一个字符串中查找模式(搜索与匹配的对比) 15
1.3.6 匹配多个字符串 16
1.3.7 匹配任何单个字符(.) 16
1.3.8 创建字符集([ ]) 17
1.3.9 重复、特殊字符以及分组 18
1.3.10 匹配字符串的起始和结尾以及单词边界 20
1.3.11 使用findall()和finditer()查找每一次出现的位置 21
1.3.12 使用sub()和subn()搜索与替换 22
1.3.13 在限定模式上使用split()分隔字符串 23
1.3.14 扩展符号 24
1.3.15 杂项 27
1.4 一些正则表达式示例 28
1.5 更长的正则表达式示例 33
1.5.1 匹配字符串 35
1.5.2 搜索与匹配……还有贪婪 37
1.6 练习 39
第2章 网络编程 42
2.1 简介 43
2.2 客户端/服务器架构 43
2.2.1 硬件客户端/服务器架构 43
2.2.2 软件客户端/服务器架构 44
2.2.3 银行出纳员作为服务器吗 44
2.2.4 客户端/服务器网络编程 45
2.3 套接字:通信端点 46
2.3.1 套接字 46
2.3.2 套接字地址:主机-端口对 47
2.3.3 面向连接的套接字与无连接的套接字 47
2.4 Python中的网络编程 48
2.4.1 socket()模块函数 49
2.4.2 套接字对象(内置)方法 49
2.4.3 创建TCP服务器 51
2.4.4 创建TCP客户端 54
2.4.5 执行TCP服务器和客户端 56
2.4.6 创建UDP服务器 58
2.4.7 创建UDP客户端 59
2.4.8 执行UDP服务器和客户端 60
2.4.9 socket模块属性 61
2.5 *SocketServer模块 62
2.5.1 创建SocketServer TCP服务器 63
2.5.2 创建SocketServer TCP客户端 64
2.5.3 执行TCP服务器和客户端 65
2.6 *Twisted框架介绍 66
2.6.1 创建Twisted Reactor TCP服务器 66
2.6.2 创建Twisted Reactor TCP客户端 67
2.6.3 执行TCP服务器和客户端 69
2.7 相关模块 69
2.8 练习 70
第3章 因特网客户端编程 74
3.1 因特网客户端简介 75
3.2 文件传输 75
3.2.1 文件传输因特网协议 75
3.2.2 文件传输协议 76
3.2.3 Python和FTP 77
3.2.4 ftplib.FTP类的方法 77
3.2.5 交互式FTP示例 78
3.2.6 客户端FTP程序示例 79
3.2.7 FTP的其他内容 80
3.3 网络新闻 81
3.3.1 Usenet与新闻组 81
3.3.2 网络新闻传输协议 82
3.3.3 Python和NNTP 83
3.3.4 nntplib.NNTP类方法 83
3.3.5 交互式NNTP示例 84
3.3.6 客户端程序NNTP示例 85
3.3.7 NNTP的其他内容 89
3.4 电子邮件 90
3.4.1 电子邮件系统组件和协议 90
3.4.2 发送电子邮件 91
3.4.3 Python和SMTP 92
3.4.4 smtplib.SMTP类方法 92
3.4.5 交互式SMTP示例 93
3.4.6 SMTP的其他内容 94
3.4.7 接收电子邮件 94
3.4.8 POP和IMAP 95
3.4.9 Python和POP3 95
3.4.10 交互式POP3示例 96
3.4.11 poplib.POP3类方法 97
3.4.12 客户端程序SMTP和POP3示例 98
3.4.13 Python和IMAP4 100
3.4.14 交互式IMAP4示例 100
3.4.15 imaplib.IMAP4类中的常用方法 101
3.5 实战 102
3.5.1 生成电子邮件 102
3.5.2 解析电子邮件 104
3.5.3 基于Web的云电子邮件服务 105
3.5.4 最佳实践:安全、重构 106
3.5.5 Yahoo! Mail 108
3.5.6 Gmail 112
3.6 相关模块 115
3.6.1 电子邮件 115
3.6.2 其他因特网客户端协议 115
3.7 练习 116
第4章 多线程编程 122
4.1 简介/动机 123
4.2 线程和进程 124
4.2.1 进程 124
4.2.2 线程 124
4.3 线程和Python 125
4.3.1 全局解释器锁 125
4.3.2 退出线程 126
4.3.3 在Python中使用线程 126
4.3.4 不使用线程的情况 126
4.3.5 Python的threading模块 128
4.4 thread模块 128
4.5 threading模块 132
4.5.1 Thread类 133
4.5.2 threading模块的其他函数 139
4.6 单线程和多线程执行对比 140
4.7 多线程实践 142
4.7.1 图书排名示例 142
4.7.2 同步原语 149
4.7.3 锁示例 149
4.7.4 信号量示例 156
4.8 生产者-消费者问题和Queue/queue模块 159
4.9 线程的替代方案 162
4.9.1 subprocess模块 163
4.9.2 multiprocessing模块 163
4.9.3 concurrent.futures模块 163
4.10 相关模块 165
4.11 练习 165
第5章 GUI编程 168
5.1 简介 169
5.1.1 Tcl、Tk和Tkinter 169
5.1.2 安装和使用Tkinter 170
5.1.3 客户端/服务端架构 170
5.2 Tkinter和Python编程 170
5.2.1 Tkinter模块:添加Tk到应用中 171
5.2.2 GUI编程介绍 171
5.2.3 顶层窗口:Tkinter.Tk() 173
5.2.4 Tk控件 173
5.3 Tkinter示例 174
5.3.1 Label控件 174
5.3.2 Button控件 175
5.3.3 Label和Button控件 175
5.3.4 Label、Button和Scale控件 176
5.3.5 偏函数应用示例 178
5.3.6 中级Tkinter示例 180
5.4 其他GUI简介 185
5.4.1 Tk接口扩展(Tix) 187
5.4.2 Python MegaWidgets(PMW) 188
5.4.3 wxWidgets和wxPython 188
5.4.4 GTK+和PyGTK 190
5.4.5 Tile/Ttk 192
5.5 相关模块和其他GUI 194
5.6 练习 196
第6章 数据库编程 198
6.1 简介 199
6.1.1 持久化存储 199
6.1.2 数据库基本操作和SQL 199
6.1.3 数据库和Python 201
6.2 Python的DB-API 203
6.2.1 模块属性 203
6.2.2 Connection对象 205
6.2.3 Cursor对象 206
6.2.4 类型对象和构造函数 207
6.2.5 关系数据库 209
6.2.6 数据库和Python:适配器 210
6.2.7 使用数据库适配器的示例 210
6.2.8 数据库适配器示例应用 215
6.3 ORM 226
6.3.1 考虑对象,而不是SQL 227
6.3.2 Python和ORM 227
6.3.3 员工角色数据库示例 228
6.3.4 SQLAlchemy 229
6.3.5 SQLObject 240
6.4 非关系数据库 245
6.4.1 NoSQL介绍 245
6.4.2 MongoDB 246
6.4.3 PyMongo:MongoDB和Python 246
6.4.4 总结 250
6.5 相关文献 250
6.6 练习 252
第7章 *Microsoft Office编程 256
7.1 简介 257
7.2 使用Python进行COM客户端编程 257
7.2.1 客户端COM编程 258
7.2.2 入门 258
7.3 入门示例 259
7.3.1 Excel 259
7.3.2 Word 261
7.3.3 PowerPoint 262
7.3.4 Outlook 264
7.4 中级示例 266
7.4.1 Excel 266
7.4.2 Outlook 268
7.4.3 PowerPoint 273
7.4.4 总结 280
7.5 相关模块/包 281
7.6 练习 281
第8章 扩展Python 286
8.1 简介和动机 287
8.1.1 Python扩展简介 287
8.1.2 什么情况下需要扩展Python 288
8.1.3 什么情况下不应该扩展Python 288
8.2 编写Python扩展 289
8.2.1 创建应用代码 289
8.2.2 根据样板编写封装代码 291
8.2.3 编译 296
8.2.4 导入并测试 297
8.2.5 引用计数 300
8.2.6 线程和全局解释器锁 301
8.3 相关主题 302
8.3.1 SWIG 302
8.3.2 Pyrex 302
8.3.3 Cython 302
8.3.4 Psyco 303
8.3.5 PyPy 303
8.3.6 嵌入Python 304
8.4 练习 304
第2部分 Web开发
第9章 Web客户端和服务器 306
9.1 简介 307
9.1.1 Web应用:客户端/服务器计算 307
9.1.2 因特网 308
9.2 Python Web客户端工具 310
9.2.1 统一资源定位符 310
9.2.2 urlparse模块 312
9.2.3 urllib模块/包 313
9.2.4 使用urllib2 HTTP验证的示例 317
9.2.5 将HTTP验证示例移植到Python 3中 319
9.3 Web客户端 322
9.3.1 一个简单的Web爬虫/蜘蛛/机器人 322
9.3.2 解析Web页面 328
9.3.3 可编程的Web浏览 333
9.4 Web(HTTP)服务器 336
9.5 相关模块 339
9.6 练习 341
第10章 Web编程:CGI和WSGI 345
10.1 简介 346
10.2 帮助Web服务器处理客户端数据 346
10.2.1 CGI简介 346
10.2.2 CGI应用程序 347
10.2.3 cgi模块 348
10.2.4 cgitb模块 348
10.3 构建CGI应用程序 349
10.3.1 构建Web服务器 349
10.3.2 建立表单页 351
10.3.3 生成结果页面 352
10.3.4 生成表单和结果页面 353
10.3.5 全面交互的Web站点 357
10.4 在CGI中使用Unicode 362
10.5 高级CGI 364
10.5.1 mulitipart表单提交和文件上传 364
10.5.2 多值字段 364
10.5.3 cookie 365
10.5.4 cookie和文件上传 365
10.6 WSGI简介 373
10.6.1 动机(替代CGI) 373
10.6.2 服务器集成 374
10.6.3 外部进程 374
10.6.4 WSGI简介 375
10.6.5 WSGI服务器 376
10.6.6 参考服务器 377
10.6.7 WSGI应用示例 378
10.6.8 中间件及封装WSGI应用 378
10.6.9 在Python 3中使用WSGI 379
10.7 现实世界中的Web开发 380
10.8 相关模块 380
10.9 练习 381
第11章 Web框架:Django 384
11.1 简介 385
11.2 Web框架 385
11.3 Django简介 386
11.4 项目和应用 390
11.4.1 在Django中创建项目 390
11.4.2 运行开发服务器 393
11.5 “Hello World”应用(一个博客) 394
11.6 创建模型来添加数据库服务 396
11.6.1 设置数据库 396
11.6.2 创建表 398
11.7 Python 应用shell 400
11.7.1 在Django中使用Python shell 400
11.7.2 测试数据模型 402
11.8 Django管理应用 403
11.8.1 设置admin 403
11.8.2 使用admin 404
11.9 创建博客的用户界面 410
11.9.1 创建模板 411
11.9.2 创建URL模式 412
11.9.3 创建视图函数 415
11.10 改进输出 418
11.11 处理用户输入 422
11.11.1 模板:添加HTML表单 423
11.11.2 添加URLconf项 423
11.11.3 视图:处理用户输入 423
11.11.4 跨站点请求伪造 424
11.12 表单和模型表单 426
11.12.1 Django表单简介 426
11.12.2 模型表单示例 427
11.12.3 使用ModelForm来生成HTML表单 427
11.12.4 处理ModelForm数据 428
11.13 视图进阶 429
11.14 *改善外观 431
11.15 *单元测试 432
11.15.1 blog应用的代码审查 434
11.15.2 blog应用总结 439
11.16 *中级Django应用:TweetApprover 439
11.16.1 创建项目文件结构 440
11.16.2 安装Twython库 445
11.16.3 URL结构 446
11.16.4 数据模型 449
11.16.5 提交新推文以便审核 453
11.16.6 审核推文 457
11.17 资源 465
11.18 总结 465
11.19 练习 466
第12章 云计算:Google App Engine 470
12.1 简介 471
12.2 云计算 471
12.2.1 云计算服务的层次 472
12.2.2 App Engine 473
12.3 沙盒和App Engine SDK 476
12.4 选择一个App Engine框架 479
12.5 Python 2.7支持 485
12.5.1 一般差异 486
12.5.2 代码中的差异 486
12.6 与Django比较 487
12.6.1 开始“Hello World” 487
12.6.2 手动创建“Hello World”(Zip文件用户) 488
12.7 将“Hello World”改成一个 简单的博客 489
12.7.1 快速发现改动:30秒内将纯文本转成HTML 489
12.7.2 添加表单 490
12.7.3 添加Datastore服务 492
12.7.4 迭代改进 496
12.7.5 开发/SDK控制台 496
12.8 添加Memcache服务 502
12.9 静态文件 505
12.10 添加用户服务 505
12.10.1 Google账号验证 506
12.10.2 联合验证 507
12.11 远程API shell 507
12.12 问与答(Python实现) 509
12.12.1 发送电子邮件 509
12.12.2 接收电子邮件 510
12.13 使用XMPP发送即时消息 512
12.14 处理图片 514
12.15 任务队列(非定期任务) 514
12.15.1 创建任务 515
12.15.2 配置app.yaml 515
12.15.3 其他任务创建选项 516
12.15.4 将发送电子邮件作为任务 517
12.15.5 deferred包 519
12.16 使用Appstats进行分析 520
12.16.1 在app.yaml中添加标准处理程序 521
12.16.2 添加自定义Admin Console页面 521
12.16.3 作为内置界面启用界面 521
12.17 URLfetch服务 522
12.18 问与答(无Python实现) 522
12.18.1 Cron服务(计划任务作业) 523
12.18.2 预热请求 523
12.18.3 DoS保护 524
12.19 厂商锁定 524
12.20 资源 525
12.21 总结 526
12.22 练习 527
第13章 Web服务 530
13.1 简介 531
13.2 Yahoo!金融股票报价服务器 531
13.3 Twitter微博 534
13.3.1 社交网络 534
13.3.2 Twitter和Python 535
13.3.3 稍微长一点的API组合应用示例 537
13.3.4 总结 547
13.3.5 额外在线资源 548
13.4 练习 548
第3部分 补充/实验章节
第14章 文本处理 553
14.1 逗号分隔值(CSV) 554
14.1.1 CSV简介 554
14.1.2 再论股票投资组合示例 556
14.2 JSON 557
14.3 可扩展标记语言 561
14.3.1 XML简介 562
14.3.2 Python和XML 562
14.3.3 XML实战 566
14.3.4 *使用XML-RPC的客户端-服务器服务 569
14.4 参考文献 573
14.5 相关模块 574
14.6 练习 574
第15章 其他内容 577
15.1 Jython 578
15.1.1 Jython简介 578
15.1.2 Swing GUI开发示例 579
15.2 Google+ 581
15.2.1 Google+平台简介 582
15.2.2 Python和Google+API 582
15.2.3 一个简单的社交媒体分析工具 582
15.3 练习 590
附录A 部分练习参考答案 593
附录B 参考表 597
B.1 Python关键字 597
B.2 Python标准操作符和函数 598
B.3 数值类型操作符和函数 599
B.4 序列类型操作符和函数 600
B.5 字符串格式化操作符转换符号 602
B.6 字符串格式化操作符指令 603
B.7 字符串类型内置方法 603
B.8 列表类型内置方法 605
B.9 字典类型内置方法 605
B.10 集合类型操作符和内置函数 606
B.11 文件对象方法和数据属性 607
B.12 Python异常 608
B.13 类的特殊方法 610
B.14 Python操作符汇总 612
附录C Python 3:一种编程语言进化的产物 614
C.1 为何Python在变化 614
C.2 都发生了哪些变化 615
C.2.1 print变成了print() 615
C.2.2 字符串:默认为Unicode编码 616
C.2.3 单类类型 616
C.2.4 更新异常的语法 617
C.2.5 整数的更新 618
C.2.6 迭代器无处不在 619
C.3 迁移工具 619
C.3.1 2to3工具 619
C.3.2 Python 2.6+ 620
C.4 结论 620
C.5 参考资料 620
附录D 利用Python 2.6+向Python 3迁移 622
D.1 Python 3:Python的下一代 622
D.2 整数 623
D.2.1 单整数类型 624
D.2.2 新型二进制和改进的八进制字符 624
D.2.3 经典除法或真除法 625
D.3 内置函数 626
D.3.1 print语句或print()函数 626
D.3.2 reduce()转移到了functools模块中 627
D.3.3 其他更新 627
D.4 面向对象编程:两种不同的类对象 628
D.5 字符串 629
D.6 异常 630
D.6.1 处理异常(使用as) 630
D.6.2 抛出异常 630
D.7 其他转换工具和技巧 631
D.8 编写兼容版本2.x和3.x的代码 632
D.8.1 对比print和print() 632
D.8.2 将你的方法导入解决方案中 633
D.8.3 整合在一起 634
D.9 结论 635
· · · · · · (收起)

原文摘录   · · · · · · (全部 )

  • 有一个更好的方案,许多Unix系统有一个命令叫env,位于/bin或/usr/bin中。它会帮你在系统搜索路径中找到python解释器。如果你的系统拥有env,你的启动行就可以改为下面这样。 (查看原文)
    随候鸟南飞2011-02-16 21:42:05
    —— 引自第10页
  • print语句也支持将输出重定向到文件。这个特性是从Python2.0开始新增的。符号>>用来重定向输出 (查看原文)
    随候鸟南飞1赞2011-02-16 21:51:25
    —— 引自第21页

>全部原文摘录

喜欢读"Python核心编程(第3版)"的人也喜欢的电子书  · · · · · ·

支持 Web、iPhone、iPad、Android 阅读器
我来说两句

短评  · · · · · · (全部 88 条 )

我要写书评

Python核心编程(第3版)的书评 · · · · · ·(全部 50 条 )

牛皮糖2011-07-21 18:13:44人民邮电出版社2008版

啃完本书,我觉得是本好书,值得推荐!

第一眼看到这本书的时候,天哪,又是一本砖头一样的书,顿时信心少了一半,随便翻了下书,对于当时的我来说,过于深,此书并不太适合初学者来看,尤其我这种基础差的人。而且,当初看了豆瓣的评价,立马打退堂鼓,把此书丢书架上去了。 在我看完了think Python和pyth...  (展开)
Feather2008-10-10 15:40:59人民邮电出版社2008版

译者名单

Python核心编程2ed 中文翻译工程成员自述 行者无疆 http://code.google.com/p/openbookproject/wiki/CorePyZhPeople  (展开)
喜欢放葱的怪物2015-02-26 21:46:46人民邮电出版社2008版

对你有用,那就够了

刚开始接触Python的时候看过几本用于入门的纸质书籍,比如《Python基础教程》、《A Byte of Python》,也在网路上上看了几个教程,比如w3cschool的《Python 基础教程》、《A Byte of Python》的译文《简明 Python 教程》,这些都是用于入门很不错的读物,当然也仅限于入门。 我...  (展开)
电量不足2016-08-23 23:08:55

不推荐初学者食用,与第二版完全不同,非语法书而是项目实战书籍

想买第二版,看到出了第三版,果断下单,发现买错!我仔细看了第二版和第三版的英文名,前者是Core Python Programming后者是Core Python Application Programming,显然后者注重应用的开发,同一个中文译名真是误人啊! 虽然误购此书,但总体看下来,觉得这书其实不错:几乎涵...  (展开)
Roy2015-01-31 16:03:17人民邮电出版社2008版

书是好书,遇见需时机

期待下一版可以包括更新的python版本。这本书其实读起来还是有难度。不过,对于有程序背景的同学来说。会有更好的感悟。遇到一本书,是需要时机的。个人认为在有了好的基础的情况下才更能有所斩获。如果纯为了体验,推荐head first。如果想全面了解,官方文档应该帮助更大。再...  (展开)
乱步奇谭2014-03-30 01:46:19人民邮电出版社2008版

还是一本很不错的书

对于初学者,尤其是以前对编程没什么经验的人来说,这不是一本很适合的书。书的章节内容划分不好,内容常常相互交叉。我在看第一遍的时候很多地方都是不明觉厉,只好浅尝辄止,主要是快速浏览主要内容。在使用python一两个月后,再次回过来又看了一遍,其实书里很可以...  (展开)
恋雨晴结2012-03-04 14:16:14人民邮电出版社2008版

读后感

这周没什么事情,索性把python继续研究下,以前读过Python基础教程,觉得那本书很一般,或者不是自己喜欢的风格,这次选了这本书,通过几天时间把第一部分自己阅读了一下,还是蛮有收获的,对python中的OO编程有了更深的理解,还有新式类方面的知识也增加了不少,第二部分只读...  (展开)

> 更多书评 50篇

论坛  · · · · · ·

在这本书的论坛里发言

这本书的其他版本  · · · · · · (全部7 )

以下书单推荐  · · · · · · (全部 )

谁读这本书?  · · · · · ·

大辰撼z
大辰撼z
9月2日 想读


Rekord
Rekord
8月21日 读过


hobes
hobes
8月17日 想读


TOUCH
TOUCH
8月8日 读过


>125人在读

>219人读过

>678人想读

二手市场  · · · · · ·

订阅关于Python核心编程(第3版)的评论:
feed: rss 2.0

© 2005-2025 douban.com, all rights reserved 北京豆网科技有限公司关于豆瓣 ·在豆瓣工作 ·联系我们 ·法律声明 ·帮助中心 ·图书馆合作 ·移动应用

[8]ページ先頭

©2009-2025 Movatter.jp