A tour of a handful of concepts woven throughout the Python language; types orientation, namespaces, closures, code objects, callability and iterators.
- Systems of Data Types
- Type Systems: Static vs Dynamic
- Type Systems: Weak vs Strong
- Type Systems: Placing Python in the Family of Languages
- Type Systems: What about Duck Typing?
- Namespaces: Relating Names to Values
- Namespaces: Names and Values
- Namespaces: Other Features
- Namespaces: At the Prompt
- Namespaces: What is a Code Object?
- Namespaces: How to Examine a Code Object
- Namespaces: Recognizing Code Objects
- Namespaces: What is a Module?
- Namespaces: A Peek into Module Handling
- Namespaces: Wiring (Pieces of) Modules Together
- Namespaces: Creating Functions
- Namespaces: Dissecting Function Creation
- Namespaces: Function Creation/Inner Code
- Namespaces: Scope Nesting and Closures
- Namespaces: Early Binding/Closure Examples
- Callability, Parameters and Return Values
- Callability: Function Definition
- Callability: Default Parameter Values
- Callability: Processing At Call Time
- Callability: Manual Stripping Off of Keywords
- Callability: Return Value(s)
- Callability: What happens when you call a class?
- Callability: How to make an instance callable?
- Callability: Decorating Your Callables
- Callability: Benefits of Decorators
- The Concept of Iteration over Collections
- Iterators: What is an iterator?
- Iterators: What does built-in iter() do?
- Iterators: What things are iterable?
- Iterators: Making a Class Iterator-Aware
- Iterators: Being an Iterator
- Iterators: Iterating over Callables
- Iterators: Useful Iterator Tidbits
- Iterators: Useful Iterator Tidbits (cont'd)
- Iterators: For More Information