April 2014
Beginner to intermediate
634 pages
15h 22m
English
In this chapter, we looked at several ways to work with an object's attributes. We can use the built-in features of the object class and get and set attribute values. We can define properties to modify how attributes behave.
If we want more sophistication, we can tweak the underlying special method implementations for __getattr__(), __setattr__(), __delattr__(), or __getattribute__(). These allow us very fine-grained control over attribute behaviors. We walk a fine line when we touch these methods because we can make fundamental (and confusing) changes to Python's behavior.
Internally, Python uses descriptors to implement features such as method functions, static method functions, and properties. Many ...