'Retrieve the attribute specified.'

def Get(self, attr):

    entry = self._data.get(attr)
    if (entry is None):
        type_descriptor = self.type_infos.get(attr)
        if (type_descriptor is None):
            raise AttributeError(("'%s'    object    has    no    attribute    '%s'" % (self.__class__.__name__, attr)))
        default = type_descriptor.GetDefault(container=self)
        if (default is None):
            return
        if type_descriptor.set_default_on_access:
            default = self.Set(attr, default)
        return default
    (python_format, wire_format, type_descriptor) = entry
    if (python_format is None):
        python_format = type_descriptor.ConvertFromWireFormat(wire_format, container=self)
        self._data[attr] = (python_format, wire_format, type_descriptor)
    return python_format
