example-code-2e/24-class-metaprog/metabunch/README.md
2021-09-10 12:34:39 -03:00

1011 B

Examples from Python in a Nutshell, 3rd edition

The metaclass MetaBunch example in original/bunch.py is an exact copy of the last example in the How a Metaclass Creates a Class section of Chapter 4: Object Oriented Python from
Python in a Nutshell, 3rd edition by Alex Martelli, Anna Ravenscroft, and Steve Holden.

The version in pre3.6/bunch.py is slightly simplified by taking advantage of Python 3 super() and removing comments and docstrings, to make it easier to compare to the from3.6 version.

The version in from3.6/bunch.py is further simplified by taking advantage of the order-preserving dict that appeared in Python 3.6, as well as other simplifications, such as leveraging closures in __init__ and __repr__ to avoid adding a __defaults__ mapping to the class.

The external behavior of all three versions is the same, and the test files bunch_test.py are identical in the three directories.