目录
第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
第12章 云计算:Google App Engine 470
第13章 Web服务 530
第3部分 补充/实验章节
第14章 文本处理 553
第15章 其他内容 577
附录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
这本书的结构和内容组织真是太出色了,完全超出了我的预期。一开始我以为它会像很多技术书籍一样,堆砌大量的API和语法,但实际上,它更像是一位经验丰富的导师,耐心地引导你一步步深入理解Python的精髓。它并没有直接罗列各种库的功能,而是从Python的核心设计理念出发,让你理解为什么这些工具会以这样的方式存在,以及它们背后的工作原理。例如,在讲解装饰器和元类的时候,它花费了大量篇幅去解析Python的动态特性和魔法方法,让我从根本上理解了这些高级特性的实现机制,而不是仅仅停留在“知道怎么用”的层面。而且,它在介绍不同模块和库的时候,都非常注重上下文和应用场景,会明确指出在什么情况下,使用哪种技术是最合适的,以及可能带来的权衡。这种“知其然,更知其所以然”的讲解方式,极大地提升了我的学习效率和解决问题的能力。我不再是那个只会复制粘贴代码的人,而是能够根据实际需求,灵活运用Python的各种特性,去设计和实现更健壮、更高效的解决方案。读完之后,我感觉自己对Python的掌控力大大增强,自信心也随之提升了不少。
评分这本书确实给了我一个全新的视角来审视Python的应用。我一直以为自己对Python已经很熟悉了,能够写出一些脚本来解决日常问题,但读了这本书之后,我才意识到自己只是停留在“能用”的层面,离“用好”还有很远的距离。书中对于一些底层机制的讲解,比如内存管理、GIL的运作方式,还有对象模型的设计,都让我茅塞顿开。以前我遇到的很多模模糊糊的性能瓶颈问题,现在似乎有了更清晰的解释。不仅仅是理论,它还提供了非常实用的代码示例,让我能够亲手去验证和体会这些概念。我特别喜欢它在讲到并发和并行时,那种循序渐进的引导方式,从多线程到多进程,再到异步IO,每一种技术的优缺点和适用场景都讲解得非常透彻。让我印象深刻的是,它并没有止步于语言本身的特性,而是将目光投向了更广阔的应用领域,比如网络编程、数据库交互,甚至是一些更高级的系统编程的概念。这种将理论与实践深度结合,并且又拓展到实际应用层面的写法,对于希望在Python开发领域有所建树的读者来说,无疑是一份宝贵的财富。它让我不再满足于简单的调用和编写,而是开始思考代码的效率、可维护性以及在真实世界中的表现。
评分读完这本书,我最大的感受就是,我对Python这门语言的理解不再是停留在表面的语法层面,而是触及到了更深层次的机制和设计理念。书中关于Python内部实现原理的讲解,例如对象是如何在内存中表示的,变量是如何被引用的,以及GIL是如何影响多线程性能的,都让我豁然开朗。我以前遇到的一些性能问题,现在也能通过理解这些底层机制来找到症结所在,并有针对性地进行优化。而且,这本书并没有仅仅局限于语言本身,它将Python的强大能力延伸到了实际的应用领域,比如在网络编程、并发处理、以及与操作系统交互等方面,都提供了非常详实且实用的指导。它会告诉你,在不同的场景下,应该如何选择合适的工具和技术,以及如何利用Python的特性去构建高效、健壮的应用程序。我特别欣赏书中对于各种高级特性的讲解,比如装饰器、描述符和元类,它不仅仅是展示了如何使用,更重要的是深入剖析了它们的实现原理,让我能够真正理解它们是如何工作的,以及如何巧妙地运用它们来简化代码、提高可读性和可维护性。这本书让我感觉自己像是在解锁Python的“隐藏技能”,为我今后的开发之路打下了坚实的基础。
评分坦白说,我拿到这本书的时候,并没有抱太高的期望,毕竟“Python核心编程”这个名字听起来就有些偏理论和基础,我更倾向于一些能快速解决实际问题的工具书。然而,这本书彻底颠覆了我的认知。它不仅没有流于表面,反而以一种非常深入和全面的方式,剖析了Python的内在逻辑和设计哲学。书中关于解释器内部工作机制的讲解,比如字节码的生成与执行、垃圾回收的策略,让我对Python的运行效率有了更直观的理解,也为我优化代码性能提供了理论依据。更让我惊喜的是,它并没有把重点局限于Python语言本身,而是巧妙地将其与一系列重要的应用场景结合起来,例如高性能的网络服务、大规模数据处理、以及与底层系统交互的技巧。在讲解这些应用时,它不仅仅是简单地介绍API,而是深入探讨了如何利用Python的特性去构建高效、可扩展的系统。比如,在网络编程的部分,它详细阐述了同步IO、非阻塞IO和异步IO的区别和适用场景,并且给出了相应的实现方案。这种将语言的深度与应用的广度完美结合的做法,是我在其他同类书籍中很少见到的,也让我深刻认识到Python作为一门强大而灵活的编程语言,其潜力和应用范围是多么的广阔。
评分这本书带给我的,不仅仅是知识的增长,更是一种思考方式的转变。以前我学习编程,习惯于关注具体的语法和函数,看到一个问题,就去找现成的库或代码片段来解决。但这本书让我明白,真正的编程高手,不仅仅是代码的搬运工,更是对问题本质有着深刻理解,并能运用语言的特性去构建优雅、高效解决方案的设计者。书中对Python对象模型、内存管理以及GIL机制的深入剖析,让我对Python的“黑箱”有了更清晰的认识,也让我明白了为什么在某些情况下,Python的表现会超出预期,而在另一些情况下,又会显得力不从心。它并没有回避这些“缺点”,而是教你如何去理解它们,并在此基础上,找到最优的解决方案。我尤其喜欢它在讲解并发和多线程时,那种抽丝剥茧的逻辑,从基础概念到实际应用,再到潜在的陷阱和规避方法,都讲解得淋漓尽致。它不仅仅告诉你“怎么做”,更重要的是告诉你“为什么这么做”,以及“这样做可能带来的后果”。这种严谨而深入的讲解,让我对Python的理解上升到了一个新的高度,也让我对如何写出高质量、高性能的Python代码有了更深刻的认识。
评分这些在拉维尔斯坦(《拉维尔斯坦》同名主人公)身上体现得尤为明显。正像他身边的另一位冷眼旁观者所看到的那样,拉维尔斯坦既不是一个逃亡者,也不是一个遁世者,而是相反,他在美国的生活非常舒适、充裕。作为一位大学教授、研究生导师,他曾经有过困窘的生活,然而一夜之间,他成为了百万富翁。因为,“只有资本主义的天才,才能用思想、见解、教导制造出值钱的商品”。拉维尔斯坦正是通过把他的思想转化为商品,成为了贝娄主人公里面生活得最得意的一个。或者说,他代表了贝娄主人公的最终命运。
评分书还没学习呢 真羡慕学生党 可以安心好好看书
评分非常感谢京东商城给予的优质的服务,从仓储管理、物流配送等各方面都是做的非常好的。送货及时,配送员也非常的热情,有时候不方便收件的时候,也安排时间另行配送。同时京东商城在售后管理上也非常好的,以解客户忧患,排除万难。给予我们非常好的购物体验。 Thank you very much for the excellent service provided by Jingdong mall, and it is very good to do in warehouse management, logistics, distribution and so on. Delivery in a timely manner, distribution staff is also very enthusiastic, and sometimes inconvenient to receive the time, but also arranged for time to be delivered. At the same time in the mall management Jindong customer service is also very good, to solve customer suffering, overcome all difficulties. Give us a very good shopping experience. !
评分很喜欢在东东上网购 真的不错的 比其他网店实在 服务好 好喜欢 还会介绍朋友来 非常感谢京东商城给予的优质的服务,从仓储管理、物流配送等各方面都是做的非常好的。送货及时,配送员也非常的热情,有时候不方便收件的时候,也安排时间另行配送。同时京东商城在售后管理上也非常好的,以解客户忧患,排除万难。给予我们非常好的购物体验。 Thank you very much for the excellent service provided by Jingdong mall, and it is very good to do in warehouse management, logistics, distribution and so on. Delivery in a timely manner, distribution staff is also very enthusiastic, and sometimes inconvenient to receive the time, but also arranged for time to be delivered. At the same time in the mall management Jingdong customer service is also very good, to solve customer suffering, overcome all difficulties. Give us a very good shopping experience.
评分经常网购,总有大量的包裹收,感觉写评语花掉了我大量的时间和精力!所以在一段时间里,我总是不去评价或者随便写写!但是,我又总是觉得好像有点对不住那些辛苦工作的卖家客服、仓管、老板。于是我写下了一小段话,给我觉得能拿到我五星好评的卖家的宝贝评价里面以示感谢和尊敬!首先,宝贝是性价比很高的,我每次都会先试用再评价的,虽然宝贝不一定是最好的,但在同等的价位里面绝对是表现最棒的。京东的配送绝对是一流的,送货速度快,配送员服务态度好,每样东西都是送货上门。希望京东能再接再厉,做得更大更强,提供更多更好的东西给大家。为京东的商品和服务点赞。
评分1、作为0基础入门比较好,内容基本都看的懂,按照上面的指导再结合练习题,有可以一步一步往下走的感觉
评分我选书/资料的标准是
评分到手后正在拆封,印刷质量好,纸质手感硬朗。字迹清晰。绝对正版货!买这种书还是买正版,首推京东自营有保障。否则盗版的一两个代码印刷错误,让你忙半宿也不一定能解决问题。悔之晚矣!
评分而这本《Python基础教程(第3版)》里,讲到了我所需要的进阶的知识,还有十个项目可以练手!可以以此作为过渡——因为学习初期,我就已经把《Python高级编程(第2版)》买好了(●°u°●)? 」
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有