本书主要关注了四个方面,即:优雅编码设计模式、通过并发和编译后的python(cython)使处理速度更快、高层联网和图像。书中展示了在python中已经过验证有用的设计模式,用专家级的代码阐释了这些设计模式,并解释了为什么一些与面向对象设计相关的模式和python均有关联。
《Python编程实战:运用设计模式、并发和程序库创建高质量程序》由Python开发者社区知名技术专家Mark Summerfield亲笔撰写,全球资深Python专家Doug Hellmann作序鼎力推荐,是Python领域*有影响力的著作之一。书中通过大量实用的范例代码和三个完整的案例研究,全面而系统地讲解了如何运用设计模式来规划代码结构,如何通过并发与Cython等技术提升代码执行速度,以及如何利用各种Python程序库来快速开发具体的应用程序和游戏。《Python编程实战:运用设计模式、并发和程序库创建高质量程序》共8章:第1~3章分别介绍了Python的几种设计模式(创建型设计模式、结构型设计模式和行为型设计模式);第4章和第5章详细讲解了Python的高级并发技术以及Cython的用法;第6章具体介绍了Python的高级网络编程;第7章阐释了如何用Tkinter开发图形用户界面;第8章讲解了如何用OpenGL绘制3D图形。
译者序
序
前言
第1章python的创建型设计模式
1.1抽象工厂模式
1.1.1经典的抽象工厂模式
1.1.2python风格的抽象工厂模式
1.2建造者模式
1.3工厂方法模式
1.4原型模式
1.5单例模式
第2章python的结构型设计模式
2.1适配器模式
2.2桥接模式
2.3组合模式
2.3.1常规的“组合体/非组合体”式层级
2.3.2只用一个类来表示组合体与非组合体
2.4修饰器模式
2.4.1函数修饰器与方法修饰器
2.4.2类修饰器
2.5外观模式
2.6享元模式
2.7代理模式
第3章python的行为型设计模式
3.1责任链模式
3.1.1用常规方式实现责任链
3.1.2基于协程的责任链
3.2命令模式
3.3解释器模式
3.3.1用eval()函数求表达式的值
3.3.2用exec()函数执行代码
3.3.3用子进程执行代码
3.4迭代器模式
3.4.1通过序列协议实现迭代器
3.4.2通过双参数iter()函数实现迭代器
3.4.3通过迭代器协议实现迭代器
3.5中介者模式
3.5.1用常规方式实现中介者
3.5.2基于协程的中介者
3.6备忘录模式
3.7观察者模式
3.8状态模式
3.8.1用同一套方法来处理不同的状态
3.8.2用不同的方法来处理不同的状态
3.9策略模式
3.10模板方法模式
3.11访问者模式
3.12案例研究:图像处理程序包
3.12.1通用的图像处理模块
3.12.2xpm模块概述
3.12.3png包装器模块
第4章python的高级并发技术
4.1计算密集型并发
4.1.1用队列及多进程实现并发
4.1.2用future及多进程实现并发
4.2i/o密集型并发
4.2.1用队列及线程实现并发
4.2.2用future及线程实现并发
4.3案例研究:并发式gui应用程序
4.3.1创建gui
4.3.2编写与工作线程配套的imagescale模块
4.3.3在gui中显示图像处理进度
4.3.4处理gui程序终止时的相关事宜
第5章扩充python
5.1用ctypes访问c程序库
5.2cython的用法
5.2.1用cython访问c程序库
5.2.2编写cython模块以进一步提升程序执行速度
5.3案例研究:用cython优化图像处理程序包
第6章python高级网络编程
6.1编写xml-rpc应用程序
6.1.1数据包装器
6.1.2编写xml-rpc服务器
6.1.3编写xml-rpc客户端
6.2编写rpyc应用程序
6.2.1线程安全的数据包装器
6.2.2编写rpyc服务器
6.2.3编写rpyc客户端
第7章用tkinter开发图形用户界面
7.1tkinter简介
7.2用tkinter创建对话框
7.2.1创建对话框式应用程序
7.2.2创建应用程序中的对话框
7.3用tkinter创建主窗口式应用程序
7.3.1创建主窗口
7.3.2创建菜单
7.3.3创建带计分器的状态栏
第8章用opengl绘制3d图形
8.1用透视投影法创建场景
8.1.1用pyopengl编写cylinder程序
8.1.2用pyglet编写cylinder程序
8.2用正交投影法制作游戏
8.2.1绘制游戏场景
8.2.2判断用户是否选中了场景里的物体
8.2.3处理用户操作
附录a结束语
附录b参考书目摘录
Mark Summerfield Qtrac公司创始人,独立的培训讲师、顾问、技术编辑,Go、Python、C++、Qt和PyQt方面的技术作家。他的著作包括RapidGUI Programming with Python and Qt、C++ GUI Programming with Qt4(与Jasmin Blanchette合著)、Programming in Python 3和Advanced QtProgramming等。 资深软件开发工程师,擅长Web开发、移动开发和游戏开发,有10余年开发经验,曾主导和参与了多个手初游戏和手机软件项目的开发,经验十分丰富。业余爱好文学和历史,有一定的文 学造诣。翻译并出版了《And roid游戏开发实践指南》、《测试驱动的iOS开发》、《HTML5 Canvas核心技术:图形、动画与游戏开发》和《JavaScript应用开发实践指南》等书。
《人生的每日忠告》内容简介:既然你热爱生活,就要爱它的。当满天的繁星落定,远处的歌声清灵地绽放,你询问手中的红莲,哪一朵光
《江苏历代文化名人传·丁文江》内容简介:本书主要从“科学”与“近代化”两方面展现了地质学家、社会活动家丁文江波澜壮阔的一生
《TypeScript项目开发实战》内容简介:本书是一本TypeScript进阶实践指南,通过9个实用项目,详细讲解如何使用TypeScript 3.0和不同
《金融市场交易策略:嵌套理论》内容简介:本书所介绍的嵌套理论适用于股票、期货等多个金融交易领域。全书分为理论篇、技术篇、系
《两周自制脚本语言》是一本优秀的编译原理入门读物。全书穿插了大量轻松风趣的对话,读者可以随书中的人物一起从最简单的语言解
本书是一本讲解Web应用中最常见的安全风险以及解决方案的实用教材。它以当今公认的安全权威机构OWASP(OpenWebApplicationSecuri
本书由浅入深、循序渐进地介绍了MVC的体系结构和如何构建一个基于MVC的Web框架,目的是帮助软件开发人员快速掌握MVC的设计思想,
远程接入网络疑难解析 本书特色 本书适用面向日常工作需要的网络管理者或者管理员、网络或咨询工程师以及远程接入咨询师。同时本书适合为希望获得CCNP和CCIE证书...
《在苍茫中点灯(珍藏版)》内容简介:继《掬水月在手》之后,《在苍茫中点灯》是陈春花老师的第二本散文集。散文中穿插着各种管理
金蝶ERP:K/3标准财务培训教程(11.X版) 本书特色 本书对金蝶ERP-K/3 V11.0标准财务系统模块进行了详细讲解,同时辅以大量实例,读者可以轻松、...
《中国法制史》内容简介:中国法制史是研究中国法制发生、发展、演变及其规律的学科。它是中国制度史的一部分,是法学体系中的独立
当来自最伟大公司的年轻人遭遇最好的创业时代,他们的内心会迸发出怎样的火花?谷歌是公认世界上最伟大的公司之一,是天才最密集
《创业不可不防的法律风险》内容简介:我国民营企业的平均寿命只有2.9年,而日本、美国的数据是我们的十多倍。主要原因在于许多创业
《书法讲座》内容简介:本书以通俗易懂的讲座形式,全面讲述书法的发展历程、书法的美学、书法创作实践等。不仅重形而下之技法,更
《野哭:弘光列传》内容简介:作者对短命仅一载的弘光朝感到不能放下,而想把它重新唤回于人们记忆,于是,钩故索旧,大书特书。《
SwiftisanewprogramminglanguageforcreatingiOSandOSXapps.SwiftbuildsonthebestofCan...
《承包地“三权分置”的法律表达与实效考察》内容简介:2018年中央一号文件着重提出深化农村土地制度改革,其中包括进一步完善农村
《编译原理》习题解析与上机指导-第三版 本书特色 《习题解析与上机指导(第3版)》:普通高等教育“十一五”规划教材《编译原理》习题解析与上机指导-第三版 内容简...
《男人使用手册》内容简介:对于女人来说,男人是一个出口,一旦女人爱上男人,她便开始了一段出走,世界颠倒,灵魂出走,走出自己
《全职妈妈指南》内容简介:目前全国至少有9400万城镇全职妈妈,这个数字还会随着二孩家庭的增多而不断变大。虽然全职妈妈对家庭贡