Online Book Reader

Home Category

Learning Python - Mark Lutz [6]

By Root 1322 0
Versus Manager Functions

Why Decorators? (Revisited)

Managing Functions and Classes Directly

Example: “Private” and “Public” Attributes

Implementing Private Attributes

Implementation Details I

Generalizing for Public Declarations, Too

Implementation Details II

Open Issues

Python Isn’t About Control

Example: Validating Function Arguments

The Goal

A Basic Range-Testing Decorator for Positional Arguments

Generalizing for Keywords and Defaults, Too

Implementation Details

Open Issues

Decorator Arguments Versus Function Annotations

Other Applications: Type Testing (If You Insist!)

Chapter Summary

Test Your Knowledge: Quiz

Test Your Knowledge: Answers

39. Metaclasses

To Metaclass or Not to Metaclass

Increasing Levels of Magic

The Downside of “Helper” Functions

Metaclasses Versus Class Decorators: Round 1

The Metaclass Model

Classes Are Instances of type

Metaclasses Are Subclasses of Type

Class Statement Protocol

Declaring Metaclasses

Coding Metaclasses

A Basic Metaclass

Customizing Construction and Initialization

Other Metaclass Coding Techniques

Instances Versus Inheritance

Example: Adding Methods to Classes

Manual Augmentation

Metaclass-Based Augmentation

Metaclasses Versus Class Decorators: Round 2

Example: Applying Decorators to Methods

Tracing with Decoration Manually

Tracing with Metaclasses and Decorators

Applying Any Decorator to Methods

Metaclasses Versus Class Decorators: Round 3

Chapter Summary

Test Your Knowledge: Quiz

Test Your Knowledge: Answers

IX. Appendixes

A. Installation and Configuration

Installing the Python Interpreter

Is Python Already Present?

Where to Get Python

Installation Steps

Configuring Python

Python Environment Variables

How to Set Configuration Options

Python Command-Line Options

For More Help

B. Solutions to End-of-Part Exercises

Part I, Getting Started

Part II, Types and Operations

Part III, Statements and Syntax

Part IV, Functions

Part V, Modules

Part VI, Classes and OOP

Part VII, Exceptions and Tools

Index

Learning Python

Mark Lutz

Editor


Julie Steele


Copyright © 2009 Mark Lutz

O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or corporate@oreilly.com.

Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. Learning Python, the image of a wood rat, and related trade dress are trademarks of O’Reilly Media, Inc.

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc., was aware of a trademark claim, the designations have been printed in caps or initial caps.

While every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.

O'Reilly Media

* * *

Dedication

To Vera.

You are my life.

A Note Regarding Supplemental Files

Supplemental files and examples for this book can be found at http://examples.oreilly.com/9780596158071/. Please use a standard desktop web browser to access these files, as they may not be accessible from all ereader devices.

All code files or examples referenced in the book will be available online. For physical books that ship with an accompanying disc, whenever possible, we’ve posted all CD/DVD content. Note that while we provide as much of the media content as we are able via free download, we are sometimes limited by licensing restrictions. Please direct any questions or concerns to booktech@oreilly.com.

Preface

This book provides an introduction to the Python programming language. Python is a popular open source programming language used for both standalone

Return Main Page Previous Page Next Page

®Online Book Reader