managed attributes this expands on the attribute interception techniques introduced earlierintroduces anotherand employs them in handful of larger examples like everything in this part of the bookthis is classified as an advanced topic and optional readingbecause most applications programmers don' need to care about the material discussed here--they can fetch and set attributes on objects without concern for attribute implementations especially for tools buildersthoughmanaging attribute access can be an important part of flexible apis moreoveran understanding of the descriptor model covered here can make related tools such as slots and properties more tangibleand may even be required reading if it appears in code you must use why manage attributesobject attributes are central to most python programs--they are where we often store information about the entities our scripts process normallyattributes are simply names for objectsa person' name attributefor examplemight be simple stringfetched and set with basic attribute syntaxperson name person name value fetch attribute value change attribute value in most casesthe attribute lives in the object itselfor is inherited from class from which it derives that basic model suffices for most programs you will write in your python career sometimesthoughmore flexibility is required suppose you've written program to use name attribute directlybut then your requirements change--for exampleyou decide that names should be validated with logic when set or mutated in some way when fetched it' straightforward to code methods to manage access to the attribute' value (valid and transform are abstract here)class persondef getname(self)