该资源由用户: 巴蜀高山 上传 举报不良内容
《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章 正则表达式 21.1 简介/动机 31.2 特殊符号和字符 51.2.1 使用择一匹配符号匹配多个正则表达式模式 61.2.2 匹配任意单个字符 61.2.3 从字符串起始或者结尾或者单词边界匹配 71.2.4 创建字符集 81.2.5 限定范围和否定 81.2.6 使用闭包操作符实现存在性和频数匹配 91.2.7 表示字符集的特殊字符 101.2.8 使用圆括号指定分组 101.2.9 扩展表示法 111.3 正则表达式和Python语言 111.3.1 re模块:核心函数和方法 121.3.2 使用compile()函数编译正则表达式 131.3.3 匹配对象以及group()和groups()方法 141.3.4 使用match()方法匹配字符串 141.3.5 使用search()在一个字符串中查找模式(搜索与匹配的对比) 151.3.6 匹配多个字符串 161.3.7 匹配任何单个字符(.) 161.3.8 创建字符集([ ]) 171.3.9 重复、特殊字符以及分组 181.3.10 匹配字符串的起始和结尾以及单词边界 201.3.11 使用findall()和finditer()查找每一次出现的位置 211.3.12 使用sub()和subn()搜索与替换 221.3.13 在限定模式上使用split()分隔字符串 231.3.14 扩展符号 241.3.15 杂项 271.4 一些正则表达式示例 281.5 更长的正则表达式示例 331.5.1 匹配字符串 351.5.2 搜索与匹配……还有贪婪 371.6 练习 39第2章 网络编程422.1 简介 432.2 客户端/服务器架构 432.2.1 硬件客户端/服务器架构 432.2.2 软件客户端/服务器架构 442.2.3 银行出纳员作为服务器吗 442.2.4 客户端/服务器网络编程452.3 套接字:通信端点 462.3.1 套接字 462.3.2 套接字地址:主机-端口对 472.3.3 面向连接的套接字与无连接的套接字 472.4Python中的网络编程482.4.1 socket()模块函数 492.4.2 套接字对象(内置)方法 492.4.3 创建TCP服务器 512.4.4 创建TCP客户端 542.4.5 执行TCP服务器和客户端 562.4.6 创建UDP服务器 582.4.7 创建UDP客户端 592.4.8 执行UDP服务器和客户端 602.4.9 socket模块属性 612.5 *SocketServer模块 622.5.1 创建SocketServer TCP服务器 632.5.2 创建SocketServer TCP客户端 642.5.3 执行TCP服务器和客户端 652.6 *Twisted框架介绍 662.6.1 创建Twisted Reactor TCP服务器 662.6.2 创建Twisted Reactor TCP客户端 672.6.3 执行TCP服务器和客户端 692.7 相关模块 692.8 练习 70第3章 因特网客户端编程743.1 因特网客户端简介 753.2 文件传输 753.2.1 文件传输因特网协议 753.2.2 文件传输协议 763.2.3Python和FTP 773.2.4 ftplib.FTP类的方法 773.2.5 交互式FTP示例 783.2.6 客户端FTP程序示例 793.2.7 FTP的其他内容 803.3 网络新闻 813.3.1 Usenet与新闻组 813.3.2 网络新闻传输协议 823.3.3Python和NNTP 833.3.4 nntplib.NNTP类方法 833.3.5 交互式NNTP示例 843.3.6 客户端程序NNTP示例 853.3.7 NNTP的其他内容 893.4 电子邮件 903.4.1 电子邮件系统组件和协议 903.4.2 发送电子邮件 913.4.3Python和SMTP 923.4.4 smtplib.SMTP类方法 923.4.5 交互式SMTP示例 933.4.6 SMTP的其他内容 943.4.7 接收电子邮件 943.4.8 POP和IMAP 953.4.9Python和POP3 953.4.10 交互式POP3示例 963.4.11 poplib.POP3类方法 973.4.12 客户端程序SMTP和POP3示例 983.4.13Python和IMAP4 1003.4.14 交互式IMAP4示例 1003.4.15 imaplib.IMAP4类中的常用方法 1013.5 实战 1023.5.1 生成电子邮件 1023.5.2 解析电子邮件 1043.5.3 基于Web的云电子邮件服务 1053.5.4 最佳实践:安全、重构 1063.5.5 Yahoo! Mail 1083.5.6 Gmail 1123.6 相关模块 1153.6.1 电子邮件 1153.6.2 其他因特网客户端协议 1153.7 练习 116第4章 多线程编程1224.1 简介/动机 1234.2 线程和进程 1244.2.1 进程 1244.2.2 线程 1244.3 线程和Python1254.3.1 全局解释器锁 1254.3.2 退出线程 1264.3.3 在Python中使用线程 1264.3.4 不使用线程的情况 1264.3.5Python的threading模块 1284.4 thread模块 1284.5 threading模块 1324.5.1 Thread类 1334.5.2 threading模块的其他函数 1394.6 单线程和多线程执行对比 1404.7 多线程实践 1424.7.1 图书排名示例 1424.7.2 同步原语 1494.7.3 锁示例 1494.7.4 信号量示例 1564.8 生产者-消费者问题和Queue/queue模块 1594.9 线程的替代方案 1624.9.1 subprocess模块 1634.9.2 multiprocessing模块 1634.9.3 concurrent.futures模块 1634.10 相关模块 1654.11 练习 165第5章 GUI编程1685.1 简介 1695.1.1 Tcl、Tk和Tkinter 1695.1.2 安装和使用Tkinter 1705.1.3 客户端/服务端架构 1705.2 Tkinter和Python编程1705.2.1 Tkinter模块:添加Tk到应用中 1715.2.2 GUI编程介绍 1715.2.3 顶层窗口:Tkinter.Tk() 1735.2.4 Tk控件 1735.3 Tkinter示例 1745.3.1 Label控件 1745.3.2 Button控件 1755.3.3 Label和Button控件 1755.3.4 Label、Button和Scale控件 1765.3.5 偏函数应用示例 1785.3.6 中级Tkinter示例 1805.4 其他GUI简介 1855.4.1 Tk接口扩展(Tix) 1875.4.2PythonMegaWidgets(PMW) 1885.4.3 wxWidgets和wxPython 1885.4.4 GTK+和PyGTK 1905.4.5 Tile/Ttk 1925.5 相关模块和其他GUI 1945.6 练习 196第6章 数据库编程 1986.1 简介 1996.1.1 持久化存储 1996.1.2 数据库基本操作和SQL 1996.1.3 数据库和Python 2016.2 Python的DB-API 2036.2.1 模块属性 2036.2.2 Connection对象 2056.2.3 Cursor对象 2066.2.4 类型对象和构造函数 2076.2.5 关系数据库 2096.2.6 数据库和Python:适配器 2106.2.7 使用数据库适配器的示例 2106.2.8 数据库适配器示例应用 2156.3 ORM 2266.3.1 考虑对象,而不是SQL 2276.3.2 Python和ORM 2276.3.3 员工角色数据库示例 2286.3.4 SQLAlchemy 2296.3.5 SQLObject 2406.4 非关系数据库 2456.4.1 NoSQL介绍 2456.4.2 MongoDB 2466.4.3 PyMongo:MongoDB和Python 2466.4.4 总结 2506.5 相关文献 2506.6 练习 252第7章 *Microsoft Office编程 2567.1 简介 2577.2 使用Python进行COM客户端编程 2577.2.1 客户端COM编程 2587.2.2 入门 2587.3 入门示例 2597.3.1 Excel 2597.3.2 Word 2617.3.3 PowerPoint 2627.3.4 Outlook 2647.4 中级示例 2667.4.1 Excel 2667.4.2 Outlook 2687.4.3 PowerPoint 2737.4.4 总结 2807.5 相关模块/包 2817.6 练习 281第8章 扩展Python 2868.1 简介和动机 2878.1.1 Python扩展简介 2878.1.2 什么情况下需要扩展Python 2888.1.3 什么情况下不应该扩展Python 2888.2 编写Python扩展 2898.2.1 创建应用代码 2898.2.2 根据样板编写封装代码 2918.2.3 编译 2968.2.4 导入并测试 2978.2.5 引用计数 3008.2.6 线程和全局解释器锁 3018.3 相关主题 3028.3.1 SWIG 3028.3.2 Pyrex 3028.3.3 Cython 3028.3.4 Psyco 3038.3.5 PyPy 3038.3.6 嵌入Python 3048.4 练习 304第2部分 Web开发第9章 Web客户端和服务器 3069.1 简介 3079.1.1 Web应用:客户端/服务器计算 3079.1.2 因特网 3089.2 Python Web客户端工具 3109.2.1 统一资源定位符 3109.2.2 urlparse模块 3129.2.3 urllib模块/包 3139.2.4 使用urllib2 HTTP验证的示例 3179.2.5 将HTTP验证示例移植到Python 3中 3199.3 Web客户端 3229.3.1 一个简单的Web爬虫/蜘蛛/机器人 3229.3.2 解析Web页面 3289.3.3 可编程的Web浏览 3339.4 Web(HTTP)服务器 3369.5 相关模块 3399.6 练习 341第10章 Web编程:CGI和WSGI 34510.1 简介 34610.2 帮助Web服务器处理客户端数据 34610.2.1 CGI简介 34610.2.2 CGI应用程序 34710.2.3 cgi模块 34810.2.4 cgitb模块 34810.3 构建CGI应用程序 34910.3.1 构建Web服务器 34910.3.2 建立表单页 35110.3.3 生成结果页面 35210.3.4 生成表单和结果页面 35310.3.5 全面交互的Web站点 35710.4 在CGI中使用Unicode 36210.5 高级CGI 36410.5.1 mulitipart表单提交和文件上传 36410.5.2 多值字段 36410.5.3 cookie 36510.5.4 cookie和文件上传 36510.6 WSGI简介 37310.6.1 动机(替代CGI) 37310.6.2 服务器集成 37410.6.3 外部进程 37410.6.4 WSGI简介 37510.6.5 WSGI服务器 37610.6.6 参考服务器 37710.6.7 WSGI应用示例 37810.6.8 中间件及封装WSGI应用 37810.6.9 在Python 3中使用WSGI 37910.7 现实世界中的Web开发 38010.8 相关模块 38010.9 练习 381第11章 Web框架:Django 38411.1 简介 38511.2 Web框架 38511.3 Django简介 38611.4 项目和应用 39011.4.1 在Django中创建项目 39011.4.2 运行开发服务器 39311.5 “Hello World”应用(一个博客) 39411.6 创建模型来添加数据库服务 39611.6.1 设置数据库 39611.6.2 创建表 39811.7 Python 应用shell 40011.7.1 在Django中使用Python shell 40011.7.2 测试数据模型 40211.8 Django管理应用 40311.8.1 设置admin 40311.8.2 使用admin 40411.9 创建博客的用户界面 41011.9.1 创建模板 41111.9.2 创建URL模式 41211.9.3 创建视图函数 41511.10 改进输出 41811.11 处理用户输入 42211.11.1 模板:添加HTML表单 42311.11.2 添加URLconf项 42311.11.3 视图:处理用户输入 42311.11.4 跨站点请求伪造 42411.12 表单和模型表单 42611.12.1 Django表单简介 42611.12.2 模型表单示例 42711.12.3 使用ModelForm来生成HTML表单 42711.12.4 处理ModelForm数据 42811.13 视图进阶 42911.14 *改善外观 43111.15 *单元测试 43211.15.1 blog应用的代码审查 43411.15.2 blog应用总结 43911.16 *中级Django应用:TweetApprover 43911.16.1 创建项目文件结构 44011.16.2 安装Twython库 44511.16.3 URL结构 44611.16.4 数据模型 44911.16.5 提交新推文以便审核 45311.16.6 审核推文 45711.17 资源 46511.18 总结 46511.19 练习 466第12章 云计算:Google App Engine 47012.1 简介 47112.2 云计算 47112.2.1 云计算服务的层次 47212.2.2 App Engine 47312.3 沙盒和App Engine SDK 47612.4 选择一个App Engine框架 47912.5 Python 2.7支持 48512.5.1 一般差异 48612.5.2 代码中的差异 48612.6 与Django比较 48712.6.1 开始“Hello World” 48712.6.2 手动创建“Hello World”(Zip文件用户) 48812.7 将“Hello World”改成一个 简单的博客 48912.7.1 快速发现改动:30秒内将纯文本转成HTML 48912.7.2 添加表单 49012.7.3 添加Datastore服务 49212.7.4 迭代改进 49612.7.5 开发/SDK控制台 49612.8 添加Memcache服务 50212.9 静态文件 50512.10 添加用户服务 50512.10.1 Google账号验证 50612.10.2 联合验证 50712.11 远程API shell 50712.12 问与答(Python实现) 50912.12.1 发送电子邮件 50912.12.2 接收电子邮件 51012.13 使用XMPP发送即时消息 51212.14 处理图片 51412.15 任务队列(非定期任务) 51412.15.1 创建任务 51512.15.2 配置app.yaml 51512.15.3 其他任务创建选项 51612.15.4 将发送电子邮件作为任务 51712.15.5 deferred包 51912.16 使用Appstats进行分析 52012.16.1 在app.yaml中添加标准处理程序 52112.16.2 添加自定义Admin Console页面 52112.16.3 作为内置界面启用界面 52112.17 URLfetch服务 52212.18 问与答(无Python实现) 52212.18.1 Cron服务(计划任务作业) 52312.18.2 预热请求 52312.18.3 DoS保护 52412.19 厂商锁定 52412.20 资源 52512.21 总结 52612.22 练习 527第13章 Web服务 53013.1 简介 53113.2 Yahoo!金融股票报价服务器 53113.3 Twitter微博 53413.3.1 社交网络 53413.3.2 Twitter和Python 53513.3.3 稍微长一点的API组合应用示例 53713.3.4 总结 54713.3.5 额外在线资源 54813.4 练习 548第3部分 补充/实验章节第14章 文本处理 55314.1 逗号分隔值(CSV) 55414.1.1 CSV简介 55414.1.2 再论股票投资组合示例 55614.2 JSON 55714.3 可扩展标记语言 56114.3.1 XML简介 56214.3.2 Python和XML 56214.3.3 XML实战 56614.3.4 *使用XML-RPC的客户端-服务器服务 56914.4 参考文献 57314.5 相关模块 57414.6 练习 574第15章 其他内容 577
尊敬的读者:
欢迎您访问我们的网站。本站的初衷是为大家提供一个共享学习资料、交换知识的平台。每位用户都可以将文件上传至网盘并分享。
然而,随着用户上传的资料增多,我们发现部分不宜或版权问题的书籍被分享到了本站。
为此,我们已经关闭了分享入口,并进行了多次书籍审查,但仍有部分内容未能彻底审查到位。
在此,我们恳请广大读者与我们共同监督,如发现任何不宜内容,请 点击此处 进行举报,我们会第一时间处理并下架相关内容。
希望我们能共建一个文明社区!感谢您的理解与支持!