Python Programming Patterns

Thomas W. Christopher

  • 出版商: Prentice Hall
  • 出版日期: 2001-10-23
  • 定價: $1,500
  • 售價: 5.0$750
  • 語言: 英文
  • 頁數: 560
  • 裝訂: Paperback
  • ISBN: 0130409561
  • ISBN-13: 9780130409560
  • 相關分類: Python程式語言
  • 立即出貨(限量) (庫存=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.

商品描述(中文翻譯)

這是一本關於企業級Python開發的實用指南!



  • 使用Python進行企業級開發!

  • 20多種面向對象的模式,適用於大規模Python開發

  • 最大化可擴展性、穩健性和重用性

  • 利用模塊化、工具包、框架、元編程等技術


Python不僅僅是用於創建簡單的網絡腳本和原型的工具:在大規模開發中,它的優勢同樣引人注目。在《Python編程模式》一書中,Thomas Christopher向開發人員展示了使用Python編寫大型程序的最佳方法,介紹了提供前所未有的穩健性、可擴展性和重用性的強大設計模式。Christopher同時教授Python編程語言以及如何使用對象、模塊化、工具包、框架和其他強大的工具和技術來“大規模編程”。



  • 20多種經過驗證的面向對象模式,適用於大規模Python開發:創建型、結構型和行為型

  • 利用您在其他面向對象語言中掌握的技能

  • 設計最大程度重用的Python系統

  • 創建更清晰、更易理解的軟件系統

  • 充分利用持久性、並發編程、函數式編程和元編程

  • 包含大量可運行的代碼和有意義的示例


如果您曾經想過在真實的企業開發中使用Python,那麼您即將學到的內容將會讓您如願以償——《Python編程模式》!


目錄

導言。
致謝。
1. 開始。


為什麼要使用Python編寫更大的程序?運行Python。數字。列表、字符串和元組。邏輯值。字典。賦值。垃圾回收。運算符。總結。



2. 語句。


Python語句。示例:單詞計數。總結。練習。



3. 模塊和包。


導入模塊。從模塊導入名稱。避免命名空間污染。重新加載模塊。搜索路徑。包。示例堆棧模塊。對模塊的評價。總結。練習。



4. 對象和類。


實例和類。類聲明。實例。方法。單繼承。可見性。顯式初始化鏈接。示例:集合實現。評價。示例:BaseTimer。繼承作為分類。多重繼承。名稱範圍的重述。測試對象和類。總結。練習。



5. 面向對象模式。


設計模式的概念。創建型模式。結構型模式。行為型模式。總結。練習。



6. 函數。


參數和參數列表。三級作用域。函數式編程。函數對象。內置函數。總結。練習。



7. 輸入/輸出。


文件對象。執行環境。其他有用的模塊。總結。練習。



8. 序列。


常見的序列操作。元組。列表。總結。練習。



9. 字符串。


字符串字面值。字符串作為序列。字符串方法。示例:分割器。字符串格式化:%運算符。總結。練習。



10. 字典。


字典操作。示例:Union-Find算法。持久性和數據庫。總結。練習。



11. 异常。


異常類。```