Python in practice : create better programs using concurrency, libraries, and patterns
(2014)

Nonfiction

Book

Call Numbers:
005.133/PYTHON/SUMMERFIELD,M

Availability

Locations Call Number Status
Adult Nonfiction 005.133/PYTHON/SUMMERFIELD,M Available

Details

PUBLISHED
Upper Saddle River, NJ : Addison-Wesley, [2014]
©2014
DESCRIPTION

xiv, 306 pages : illustrations ; 23 cm

ISBN/ISSN
9780321905635 (pbk.), 0321905636 (pbk.), 9780321905635, 0321905636 :
LANGUAGE
English
NOTES

"First printing, August 2013"--Title page verso

Machine generated contents note: ch. 1 Creational Design Patterns -- 1.1.Abstract Factory Pattern -- 1.1.1.A Classic Abstract Factory -- 1.1.2.A More Pythonic Abstract Factory -- 1.2.Builder Pattern -- 1.3.Factory Method Pattern -- 1.4.Prototype Pattern -- 1.5.Singleton Pattern -- ch. 2 Structural Design Patterns -- 2.1.Adapter Pattern -- 2.2.Bridge Pattern -- 2.3.Composite Pattern -- 2.3.1.A Classic Composite/Noncomposite Hierarchy -- 2.3.2.A Single Class for (Non)composites -- 2.4.Decorator Pattern -- 2.4.1.Function and Method Decorators -- 2.4.2.Class Decorators -- 2.4.2.1.Using a Class Decorator to Add Properties -- 2.4.2.2.Using a Class Decorator Instead of Subclassing -- 2.5.Facade Pattern -- 2.6.Flyweight Pattern -- 2.7.Proxy Pattern -- ch. 3 Behavioral Design Patterns -- 3.1.Chain of Responsibility Pattern -- 3.1.1.A Conventional Chain -- 3.1.2.A Coroutine-Based Chain -- 3.2.Command Pattern -- 3.3.Interpreter Pattern -- 3.3.1.Expression Evaluation with eval() --

Contents note continued: 3.3.2.Code Evaluation with exec() -- 3.3.3.Code Evaluation Using a Subprocess -- 3.4.Iterator Pattern -- 3.4.1.Sequence Protocol Iterators -- 3.4.2.Two-Argument iter() Function Iterators -- 3.4.3.Iterator Protocol Iterators -- 3.5.Mediator Pattern -- 3.5.1.A Conventional Mediator -- 3.5.2.A Coroutine-Based Mediator -- 3.6.Memento Pattern -- 3.7.Observer Pattern -- 3.8.State Pattern -- 3.8.1.Using State-Sensitive Methods -- 3.8.2.Using State-Specific Methods -- 3.9.Strategy Pattern -- 3.10.Template Method Pattern -- 3.11.Visitor Pattern -- 3.12.Case Study: An Image Package -- 3.12.1.The Generic Image Module -- 3.12.2.An Overview of the Xpm Module -- 3.12.3.The PNG Wrapper Module -- ch. 4 High-Level Concurrency -- 4.1.CPU-Bound Concurrency -- 4.1.1.Using Queues and Multiprocessing -- 4.1.2.Using Futures and Multiprocessing -- 4.2.I/O-Bound Concurrency -- 4.2.1.Using Queues and Threading -- 4.2.2.Using Futures and Threading --

Contents note continued: 4.3.Case Study: A Concurrent GUI Application -- 4.3.1.Creating the GUI -- 4.3.2.The ImageScale Worker Module -- 4.3.3.How the GUI Handles Progress -- 4.3.4.How the GUI Handles Termination -- ch. 5 Extending Python -- 5.1.Accessing C Libraries with ctypes -- 5.2.Using Cython -- 5.2.1.Accessing C Libraries with Cython -- 5.2.2.Writing Cython Modules for Greater Speed -- 5.3.Case Study: An Accelerated Image Package -- ch. 6 High-Level Networking -- 6.1.Writing XML-RPC Applications -- 6.1.1.A Data Wrapper -- 6.1.2.Writing XML-RPC Servers -- 6.1.3.Writing XML-RPC Clients -- 6.1.3.1.A Console XML-RPC Client -- 6.1.3.2.A GUI XML-RPC Client -- 6.2.Writing RPyC Applications -- 6.2.1.A Thread-Safe Data Wrapper -- 6.2.1.1.A Simple Thread-Safe Dictionary -- 6.2.1.2.The Meter Dictionary Subclass -- 6.2.2.Writing RPyC Servers -- 6.2.3.Writing RPyC Clients -- 6.2.3.1.A Console RPyC Client -- 6.2.3.2.A GUI RPyC Client -- ch. 7 Graphical User Interfaces with Tkinter --

Contents note continued: 7.1.Introduction to Tkinter -- 7.2.Creating Dialogs with Tkinter -- 7.2.1.Creating a Dialog-Style Application -- 7.2.1.1.The Currency Application's main() Function -- 7.2.1.2.The Currency Application's Main. Window Class -- 7.2.2.Creating Application Dialogs -- 7.2.2.1.Creating Modal Dialogs -- 7.2.2.2.Creating Modeless Dialogs -- 7.3.Creating Main-Window Applications with Tkinter -- 7.3.1.Creating a Main Window -- 7.3.2.Creating Menus -- 7.3.2.1.Creating a File Menu -- 7.3.2.2.Creating a Help Menu -- 7.3.3.Creating a Status Bar with Indicators -- ch. 8 OpenGL 3D Graphics -- 8.1.A Perspective Scene -- 8.1.1.Creating a Cylinder with PyOpenGL -- 8.1.2.Creating a Cylinder with pyglet -- 8.2.An Orthographic Game -- 8.2.1.Drawing the Board Scene -- 8.2.2.Handling Scene Object Selection -- 8.2.3.Handling User Interaction