Class that defines method __getattribute__ and __getattr__ : Attribute « Class « Python Tutorial






class DemonstrateAccess( object ):
   def __init__( self ):
      self.value = 1
      
   def __getattribute__( self, name ):
      print "__getattribute__ executing..."
      print "\tClient attempt to access attribute:", name

      return object.__getattribute__( self, name )

   def __getattr__( self, name ):
      print "__getattr__ executing..."
      print "\tClient attempt to access non-existent attribute:", name

      raise AttributeError, "Object has no attribute %s" % name








11.2.Attribute
11.2.1.setattr and getattr
11.2.2.Attribute Reference
11.2.3.Modifying Class Attributes
11.2.4.Attributes are values associated with the object.
11.2.5.Instance Attributes versus Class Attributes
11.2.6.Use Caution When Accessing Class Attribute with Instance
11.2.7.Class Attributes More Persistent
11.2.8.Let us make our example more useful by giving P some attributes
11.2.9.Simple Attribute Lookup Example
11.2.10.hasattr(), getattr(), setattr(), delattr()
11.2.11.Class Employee with class attribute count.
11.2.12.Class that defines method __getattribute__ and __getattr__
11.2.13.Attach attributes to the class by assigning names to it outside of the original class