本书主要关注了四个方面,即:优雅编码设计模式、通过并发和编译后的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应用开发实践指南》等书。
本书重点论述数字通信的技术基础和最新应用。全书共分15章,详细阐述了数字通信系统的基本信号变换、信号处理步骤、基带信号及高
《古笺风雅:醉花阴》内容简介:笺纸多用于古代书信,是文人雅士通信的信纸。随着雕版印刷技术的提高,笺纸上描绘的山水、花鸟、奇
如何判断何种灯光设计能最大限度地满足居室需要,应该使用向下的灯光?向上的灯光?地面射灯或是墙面射灯?应该选用何种类型的灯
PKPM结构系列软件应用与设计实例-第4版 本书特色 李星荣,王柱宏主编的《PKPM结构系列软件应用与设计实例(第4版)》着重介绍PKPM结构系列的主要软件有:...
从零开始学习Cocoa的首选图书.涵盖了最新的Mac编程技术高级MacOSX开发者们联手强烈推荐..MacOSX编程图书的标杆AaronHillegass多年
当今社会技术体系面临变革,巨大的社会需求和挑战不断涌现,毫不夸张地说,这是一个人人参与设计的时代。在此背景下,无论是设计
《北海道漫步》内容简介:作为近年来热门的旅行目的地,北海道以其独特的自然风貌及冰雪景观吸引着世界各地的旅行者。本书从北海道
无师自通AutoCAD 2014中文版机械设计-(附光盘) 本书特色 《无师自通AutoCAD 2014中文版机械设计》以AutoCAD 2014中文版为平台,...
《TKT剑桥英语教学能力认证考试全真模拟试题(2020年版)》内容简介:本书是TKT剑桥英语教学能力认证考试的专用辅导用书,从考试内
《从零开始做抖音短视频》内容简介:本书作者运营的自媒体账号“台球帝”在抖音和快手两个平台共拥有300多万粉丝量,在亲自运营的基
本书介绍了配色的基础知识与技巧,通过照片、广告等实例,为从初学者到专业设计师等不同水平的读者,提供了广泛、全面的引导。书
《价值投资者的财报分析》内容简介:本书以通俗易懂、图文并茂的方式,以海天味业为案例,系统地介绍了有效开展价值投资的财报分析
《断病如断案:中医如何看病》内容简介:本书为中医医案汇编图书,是中医专家根据多年临床诊疗经验,结合大量中医文献编写而成。全
《深入理解InfluxDB:时序数据库详解与实践》内容简介:时序数据库是一种新型技术,主要用于工业互联网软件建设中。近年来,伴随着
《计算机软件技术基础(第3版)》是计算机基础教材,全书较系统、通俗地介绍了计算机软件的技术基础知识和常用的系统软件。内容包
全国计算机等级考试二级教程:公共基础知识(2008年版) 内容简介 本书是根据教育部考试中心*新颁布的《全国计算机等级考试二级公共基础知识考试大纲(2007年版...
◎這是一本專為您個人及企業打造的工具書您是否正在不斷地尋求組織創新思考的方法?打造顧客整體消費體驗的方式?技術創新應用的
《时尚达人的服饰潮搭与网购指南》内容简介:本书是服饰穿搭与网购的指导手册。本书首先介绍了服装廓形、色彩及流行趋势,然后针对
《手到琴来1》内容简介:本系列将会成为自《吉他之友》后又一套在全国热卖的吉他季刊。整个系列一年会发布4本曲集,每本曲集将选取
《景观设计学》(场地规划与设计手册)(第3版)人们需要一本能用简洁明了且实用的术语勾划出场地规划过程的书,《景观设计学》正是针