SitePoint
  • Premium
  • Library
  • Community
  • Jobs
  • Blog
LoginStart Free Trial
The Python Journeyman
The Python Journeyman
Preface
Welcome Journeyman!
Prerequisites
Well begun is half done
Packages
Implementing packages
Relative imports
__all__
Namespace packages
Executable directories
Executable packages
Recommended layout
Modules are singletons
Summary
Review of Functions
Functions as callable objects
Callable instances and the __call__() method
Classes are Callable
Leveraging callable classes
Lambdas
Detecting Callable Objects
Extended Formal Parameter Syntax
Extended Call Syntax
Transposing Tables
Summary
Local functions
Closures and nested scopes
Function decorators
Validating arguments
Summary
Class attributes
Static methods
Class methods
Named constructors
Overriding static- and class-methods
Properties
Overriding properties
The template method pattern
Summary
Two string representations
Strings for developers with repr()
Strings for clients with str()
When are the representation used?
Precise control with format()
Leveraging reprlib for large strings
The ascii() , ord() and chr() built-in functions
Case study: String representations of tabular data
Summary
Python’s basic numeric types
The limits of floats
The decimal module
The fractions module
Complex Numbers
Built-in functions relating to numbers
Dates and times with the datetime module
Case study: Rational numbers and computational geometry
Summary
Review of comprehensions
Multi-input comprehensions
Functional-style tools
map()
filter()
functools.reduce()
Combining functional concepts: map-reduce
The iteration protocols
Case study: an iterable and iterator for streamed sensor data
Summary
Single inheritance
Type inspection
Multiple inheritance
MRO: Method Resolution Order
super()
object
Inheritance for Implementation Sharing
Summary
Collection protocols
Test first
The initializer
The container protocol
The sized protocol
The iterable protocol
The sequence protocol
The set protocol
Summary
Exception dangers
Exceptions hierarchies
Exception payloads
User-defined exceptions
Exception chaining
Tracebacks
Assertions
Preconditions, postconditions and assertions
Summary
What is a context manager?
The context manager protocol
contextlib.contextmanager
Multiple context-managers in a with-statement
Context managers for transactions
Summary
Introspecting types
Introspecting objects
Introspecting scopes
The inspect module
An object introspection tool
Summary

Community Questions