'Returns an indication of the class of self.
The class is one of the following strings:
sNaN
NaN
-Infinity
-Normal
-Subnormal
-Zero
+Zero
+Subnormal
+Normal
+Infinity'

def number_class(self, context=None):

    if self.is_snan():
        return 'sNaN'
    else:
        if self.is_qnan():
            return 'NaN'
        inf = self._isinfinity()
        if (inf == 1):
            return '+Infinity'
        if (inf == (-1)):
            return '-Infinity'
        if self.is_zero():
            if self._sign:
                return '-Zero'
            else:
                return '+Zero'
        if (context is None):
            context = getcontext()
        if self.is_subnormal(context=context):
            if self._sign:
                return '-Subnormal'
            else:
                return '+Subnormal'
        if self._sign:
            return '-Normal'
        return '+Normal'
        return
