Python in Practice : Create Better Programs Using Concurrency, Libraries, and Patterns (Developer's Library) (PAP/PSC)

Python in Practice : Create Better Programs Using Concurrency, Libraries, and Patterns (Developer's Library) (PAP/PSC)

  • ただいまウェブストアではご注文を受け付けておりません。 ⇒古書を探す
  • 製本 Paperback:紙装版/ペーパーバック版/ページ数 306 p.
  • 言語 ENG
  • 商品コード 9780321905635
  • DDC分類 005

Full Description


Winner of the 2014 Jolt Award for "Best Book""Whether you are an experienced programmer or are starting your career, Python in Practice is full of valuable advice and example to help you improve your craft by thinking about problems from different perspectives, introducing tools, and detailing techniques to create more effective solutions." -Doug Hellmann, Senior Developer, DreamHostIf you're an experienced Python programmer, Python in Practice will help you improve the quality, reliability, speed, maintainability, and usability of all your Python programs.Mark Summerfield focuses on four key themes: design patterns for coding elegance, faster processing through concurrency and compiled Python (Cython), high-level networking, and graphics. He identifies well-proven design patterns that are useful in Python, illuminates them with expert-quality code, and explains why some object-oriented design patterns are irrelevant to Python. He also explodes several counterproductive myths about Python programming-showing, for example, how Python can take full advantage of multicore hardware.All examples, including three complete case studies, have been tested with Python 3.3 (and, where possible, Python 3.2 and 3.1) and crafted to maintain compatibility with future Python 3.x versions. All code has been tested on Linux, and most code has also been tested on OS X and Windows. All code may be downloaded at www.qtrac.eu/pipbook.html.Coverage includes Leveraging Python's most effective creational, structural, and behavioral design patterns Supporting concurrency with Python's multiprocessing, threading, and concurrent.futures modules Avoiding concurrency problems using thread-safe queues and futures rather than fragile locks Simplifying networking with high-level modules, including xmlrpclib and RPyC Accelerating Python code with Cython, C-based Python modules, profiling, and other techniques Creating modern-looking GUI applications with Tkinter Leveraging today's powerful graphics hardware via the OpenGL API using pyglet and PyOpenGL

Contents

Foreword xiii Introduction 1Acknowledgments 3Chapter 1: Creational Design Patterns 51.1. Abstract Factory Pattern 51.2. Builder Pattern 111.3. Factory Method Pattern 171.4. Prototype Pattern 241.5. Singleton Pattern 26Chapter 2: Structural Design Patterns 292.1. Adapter Pattern 292.2. Bridge Pattern 342.3. Composite Pattern 402.4. Decorator Pattern 482.5. Facade Pattern 592.6. Flyweight Pattern 642.7. Proxy Pattern 67Chapter 3: Behavioral Design Patterns 733.1. Chain of Responsibility Pattern 743.2. Command Pattern 793.3. Interpreter Pattern 833.4. Iterator Pattern 953.5. Mediator Pattern 1003.6. Memento Pattern 1063.7. Observer Pattern 1073.8. State Pattern 1113.9. Strategy Pattern 1163.10. Template Method Pattern 1193.11. Visitor Pattern 1233.12. Case Study: An Image Package 124Chapter 4: High-Level Concurrency 1414.1. CPU-Bound Concurrency 1444.2. I/O-Bound Concurrency 1554.3. Case Study: A Concurrent GUI Application 164Chapter 5: Extending Python 1795.1. Accessing C Libraries with ctypes 1805.2. Using Cython 1875.3. Case Study: An Accelerated Image Package 198Chapter 6: High-Level Networking 2036.1. Writing XML-RPC Applications 2046.2. Writing RPyC Applications 219Chapter 7: Graphical User Interfaces with Tkinter 2317.1. Introduction to Tkinter 2337.2. Creating Dialogs with Tkinter 2357.3. Creating Main-Window Applications with Tkinter 253Chapter 8: OpenGL 3D Graphics 2638.1. A Perspective Scene 2648.2. An Orthographic Game 272Appendix A: Epilogue 283Appendix B: Selected Bibliography 285Index 289

最近チェックした商品