Learning Python - Mark Lutz [607]
docstrings, Documentation Strings Revisited
inheritance, Inheritance, Python 2.6 and 3.0 Abstract Superclasses
introspection, Step 6: Using Introspection Tools, Our Classes’ Final Form
making instances, Step 1: Making Instances, Using Code Two Ways
methods, Coding Methods, Methods, Other Method Call Possibilities
modules, versus, Classes Versus Modules
namespaces, Namespaces: The Whole Story, Namespace Links
OOP concepts embodied in, OOP Is Simpler Than You May Think
operator overloading, Step 3: Operator Overloading, Providing Print Displays
subclassing, Step 4: Customizing Behavior by Subclassing, OOP: The Big Idea
dependencies and function design, Function Design Concepts
dictionaries, versus, Classes Versus Dictionaries
distinctions of, Why Use Classes?
exception classes, Exception Objects (see exception classes)
frameworks, OOP Is About Code Reuse
function decorators, Decorators and Metaclasses: Part 1, For More Details
gotchas, Class Gotchas, Changing Class Attributes Can Have Side Effects, Changing Mutable Class Attributes Can Have Side Effects, Too, Multiple Inheritance: Order Matters, Methods, Classes, and Nested Scopes, Delegation-Based Classes in 3.0: __getattr__ and built-ins, “Overwrapping-itis”
changing class attributes, Changing Class Attributes Can Have Side Effects
changing mutable class attributes, Changing Mutable Class Attributes Can Have Side Effects, Too
delegation-based classes (Python 3.0), Delegation-Based Classes in 3.0: __getattr__ and built-ins
methods, classes, and nested scopes (Python 2.2 and before), Methods, Classes, and Nested Scopes
multiple inheritance, Multiple Inheritance: Order Matters
overwrapping, “Overwrapping-itis”
inheritance, customization by, Classes Are Customized by Inheritance
instances, generation of, Classes Generate Multiple Instance Objects, A First Example
interception of Python operators, Classes Can Intercept Python Operators, Why Use Operator Overloading?
justification, Why Use Classes?
metaclasses, Type Model Changes, Metaclasses, Class Decorators and Metaclasses
as namespace objects, The World’s Simplest Python Class
naming conventions, Step 1: Making Instances
“new-style” classes, The “New-Style” Class Model, Metaclasses, New-Style Class Changes, Scope of search order change
changes, New-Style Class Changes, Scope of search order change
persistence and, Stream Processors Revisited
properties of, Class Objects Provide Default Behavior
simplest class, The World’s Simplest Python Class, Classes Versus Dictionaries
static and class methods, Static and Class Methods
subclasses and superclasses, Attribute Inheritance Search
user-defined classes, User-Defined Classes
classic division, Python Expression Operators, Division: Classic, Floor, and True
classmethod function, Using Static and Class Methods
classtree function, Namespace Links
close method, Using Files
closure function, Factory functions
code reuse, Why Use Modules?, OOP Is About Code Reuse, OOP Is About Code Reuse
modules and, Why Use Modules?
OOP and, OOP Is About Code Reuse, OOP Is About Code Reuse
code reuse and code redundancy, Function Basics
codecs.open call (Python 2.6), Coding Unicode Strings in Python 2.6
cohesion, Function Design Concepts
collections, Why Use Built-in Types? (see lists)
colon (:), Common Coding Gotchas
command line, The Interactive Prompt (see interactive prompt)
command-line arguments, Using Command-Line Arguments with __name__
comments, A First Script, Python Syntax Rules, # Comments
companies using Python, Who Uses Python Today?
comparison methods, Comparisons: __lt__, __gt__, and Others
comparison operators, Comparisons: __lt__, __gt__, and Others
comparisons in Python 3.0, List method calls
compiled extensions, OK, but What’s the Downside?
complex numbers, Numeric Literals
component integration, Component Integration
composites, Other Ways to Combine Classes
composition, Why Use Classes?, OOP and Composition: “Has-a” Relationships,