Summary

We looked at three of the special methods for class definition. The __call__() method is used when creating a callable. The callable is used to create functions that are stateful. Our primary example is a function that memoizes previous results.

The __enter__() and __exit__() methods are used to create a context manager. The context is used to handle processing that is localized to the body of a with statement. Most of our examples include input-output processing. However, Python presents a number of other situations where a localized context can come handy. will focus on creating containers and collections.

Callable design considerations and trade-offs

When designing a callable object, we need to consider the following:

  • The first is the API ...

Get Mastering Object-oriented Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.