本书主要关注了四个方面,即:优雅编码设计模式、通过并发和编译后的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应用开发实践指南》等书。
《顺利升入一年级》内容简介:幼小衔接是教育的基础工程,但很多家长对幼小衔接认识不清,在错误的方向上努力,以至问题丛生。本书
《Oracle 18c 必须掌握的新特性:管理与实战》内容简介:在Oracle 12c版本之前,数据库版本的迭代中基本架构都没有非常明显的变化,
本书介绍了微波中继通信系统、短波通信系统、卫星通信系统、移动通信系统和光纤通信系统。内容包括系统的组成、相关的新技术、系
《未来零售》内容简介:“新零售”概念提出至今,各家零售企业已触发了一系列迭代动作,而突如其来的疫情,更是给整个新零售行业按
本书在简要介绍模拟通信原理的基础上,以数字通信原理为重点,讲述通信系统的组成、性能指标、工作原理、性能分析和设计方法。对
這是一趟有錢也買不到的日本設計之旅!本書直擊博報堂、SAMURAI等目前日本超夯的廣告設計公司,深入設計師們的工作現場,訪問當今
《台湾念真情》内容简介:“台湾念真情”是吴念真的第一个电视节目,重播十余年。在这本细述人间邂逅的“台湾笔记”中,吴念真以独
《CFA一级闪卡》内容简介:作者根据CFA考试大纲,系统地梳理了CFA一级考试的知识点与复习重点,帮助所有考生迅速掌握CFA一级知识体
《渐进与突破》内容简介:俄罗斯远东联邦区发展油气产业的支点在萨哈林地区,而其“主角”是萨哈林岛。萨哈林岛引人注目之处不仅在
《HikariCP数据库连接池实战》内容简介:这是一本从设计思想、功能使用、原理实现、工程实践、技术扩展5个维度全面讲解数据库连接池
《孤独的泡面》内容简介:100碗各国人气泡面,200条全球饮食文化解说,近150个深夜的陪伴,现在集结成书。从中国到日本,从韩国及至
单片机原理及应用(第二版)普通高等教育十一五国家级规划教材 内容简介 简介本书为普通高等教育“十一五”国家级规划教材(高职高专教育)。全书共分为五章,主要内容包...
《历史的面孔》内容简介:中国近代历史是一段苦难史,也是一段中国人民不断探索的历史。“求新求变”贯穿着整个时空,这里面涌现了
Python硬件编程实战 本书特色 本书主要针对计算机基础比较薄弱的python语言初学者,力图使用通俗易懂和深入浅出的语言风格阐述python的基本概念。在对...
《设计方法学》是一部讲授创新思维与设计方法的书籍,分上、下两篇。上篇是“思维篇”,通过对思维、心理、视觉等方面的大量研究
内容介绍:文字在浩涉的文明岁月中幻化出千姿百态,于是,才会有这本文字美丽的书。从书中,也许你可读出一部中国文字美丽的历史
《新编电信技术概论》讲述现代电信的相关概念、涉及的关键技术及工作原理。全书共分13章。第一章基本概念,介绍信号的频域分析、
《深读矫正:现代监狱制度的理论逻辑》内容简介:关于监狱的批判和批判的监狱未来监狱是怎样的样态?为什么说惩罚是监狱的天然属性
ThisthirdvolumeofKinfolkexploreshowweallmightbenefitfromincorporatingmoreoftheth...
解密搜索引擎技术实战:Lucene & Java精华版(第2版) 本书特色 1、《解密搜索引擎技术实战:lucene & java精华版(第2版)》是畅销书的升...