Python Programming Patterns

Thomas W. Christopher

  • 出版商: Prentice Hall PTR
  • 出版日期: 2001-10-23
  • 定價: USD $44.99
  • 售價: $750
  • 語言: 英文
  • 頁數: 560
  • 裝訂: Paperback
  • ISBN: 0130409561
  • ISBN-13: 9780130409560

立即出貨 (庫存=1)

買這商品的人也買了...

產品描述

The real-world guide to enterprise-class Python development!

  • Enterprise development with Python!
  • 20+ object-oriented patterns for large-scale Python development
  • Maximizing scalability, robustness, and reuse
  • Leveraging modularization, toolkits, frameworks, metaprogramming, and more

Python isn't just a tool for creating short Web scripts and simple prototypes: its advantages are equally compelling in large-scale development. In Python Programming Patterns, Thomas Christopher shows developers the best ways to write large programs with Python, introducing powerful design patterns that deliver unprecedented levels of robustness, scalability, and reuse. Christopher teaches both the Python programming language and how to "program in the large" with Python, using objects, modularization, toolkits, frameworks, and other powerful tools and techniques.

  • 20+ proven object-oriented patterns for large-scale Python development: creational, structural, and behavioral
  • Leverage the skills you've mastered in other object-oriented languages
  • Design Python systems for maximum reuse
  • Create cleaner, more comprehensible software systems
  • Make the most of persistence, concurrent programming, functional programming, and metaprogramming
  • Includes extensive working code and meaningful examples

If you've ever thought it would be great to use Python in real enterprise development, you're about to learn how—with Python Programming Patterns!

Table of Contents

Introduction.
Acknowledgments.
1. Getting Started.

Why Write Larger Programs in Python? Running Python. Numbers. Lists, Strings, and Tuples. Logical Values. Dictionaries. Assignments. Garbage Collection. Operators. Wrap-Up.


2. Statements.

Python Statements. Example: Word Count. Wrap-Up. Exercises.


3. Modules and Packages.

Importing Modules. Importing Names from Modules. Avoiding Namespace Pollution. Reloading Modules. Search Paths. Packages. Example Stack Module. Critique of Modules. Wrap-Up. Exercises.


4. Objects and Classes.

Instances and Classes. Class Declarations. Instances. Methods. Single Inheritance. Visibility. Explicit Initializer Chaining. Example: Set Implementation. Critique. Example: BaseTimer. Inheritance As Classification. Multiple Inheritance. Recapitulation of the Scope of Names. Testing Objects and Classes. Wrap-Up. Exercises.


5. Object-Oriented Patterns.

Concept of Design Patterns. Creational Patterns. Structural Patterns. Behavioral Patterns. Wrap-Up. Exercises.


6. Functions.

Parameter and Argument Lists. Three-Level Scopes. Functional Programming. Function Objects. Built-In Functions. Wrap-Up. Exercises.


7. Input/Output.

File Objects. Execution Environment. Other Useful Modules. Wrap-Up. Exercises.


8. Sequences.

Common Sequence Operations. Tuples. Lists. Wrap-Up. Exercises.


9. Strings.

String Literals. Strings as Sequences. String Methods. Example: Splitter. String Formatting: The % Operator. Wrap-Up. Exercises.


10. Dictionaries.

Dictionary Operations. Example: Union-Find Algorithm. Persistence and Databases. Wrap-Up. Exercises.


11. Exceptions.

Exception Classes. Minimal Exception Handling. Examining the Exception. Raising Exceptions. Tracebacks. Re-Raising Exceptions. Raise with Strings. Try-Except-Else. The Try-Finally Statement. Wrap-Up. Exercises.


12. Types.

Type Objects. Members and Methods. Numbers, Strings, Tuples, Lists, and Dictionaries. Modules. User-Defined Functions. Code Objects. Classes. Class Instances. User-Defined Methods. Built-In Functions and Methods. Slice. Xrange. File. Frame. Traceback. Example: Scopes. Wrap-Up. Exercises.


13. Programs and Run-Time Compilation.

Python Interpreter Startup. Run-Time Compilation. Wrap-Up. Exercises.


14. Abstract Data Types and Special Methods.

Special Methods. Methods for All Objects. Operators. Arithmetic Operators. Augmented Assignment. Rich Comparisons. Attribute Access. Function Call Method. Wrap-Up. Exercises.


15. Abstract Container Data Types.

Special Methods for Container ADTs. DEQueue. Multidimensional Arrays. Class Versions of Built-In Data Types. Wrap-Up. Exercises.


16. Priority Queues.

Priority Queue Operations. Priority Queue Implementation. Unique Elements. Critique. Wrap-Up. Exercises.


17. Sets.

Set Operations. Implementation. PureSet: A Protection Proxy. SetEnumeration. Wrap-Up. Exercises.


18. Concurrency.

Threads. Race Conditions. Locks and Mutual Exclusion. Monitor Pattern. Producer-Consumer. Deadlock. Example: Future. Wrap-Up. Exercises.


19. Transactions.

Shared Database Operations. Example: Dining Philosophers. Implementation of SharedDB. Wrap-Up. Exercises.


20. Run Queues.

Simple RunQueue. Implementing RunQueue. Detecting Termination of an Object on the RunQueue. TransactionQueue. Example of TransactionQueue: Dining Philosophers. Wrap-Up. Exercises.


21. Regular Expressions.

Overall Behavior of re Module. re Syntax. Functions in re Module. Pattern Objects. Match Objects. Other Modes. Other Methods and Functions. Example: Scanner. Wrap-Up. Exercises.


22. Parser.

Overview of the Process. Implementing a Calculator. Building a Tree. Wrap-Up. Exercises.


23. Wrap-Up.

Contents. Software. Advice to the Reader.


Appendix A.
Index.