<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def attributes(self, full=0):
 """Return a dictionnary describing every global attribute attached to the SD interface. Args:: full true to get complete info about each attribute false to report only each attribute value Returns:: Empty dictionnary if no global attribute defined Otherwise, dictionnary where each key is the name of a global attribute. If parameter 'full' is false, key value is the attribute value. If 'full' is true, key value is a tuple with the following elements: - attribute value - attribute index number - attribute type - attribute length C library equivalent : no equivalent """


        # Get the number of global attributes.
        nsds, natts = self.info()

        # Inquire each attribute
        res = {}
        for n in range(natts):
            a = self.attr(n)
            name, aType, nVal = a.info()
            if full:
                res[name] = (a.get(), a.index(), aType, nVal)
            else:
                res[name] = a.get()

        return res