¿Cómo implementar C 32 como unsigned int en Python sin dependencias externas?

Necesito una clase que mantenga toda la funcionalidad de Pythonint clase, pero asegúrese de que sus resultados estén dentro de enteros de 32 bits, como en el lenguaje de programación C. El tipo debe ser "venenoso": realizar una operación en int y este tipo debería dar como resultado que se devuelva este tipo. Como se sugiere en una de las respuestas.a mi otra pregunta, Solía ​​usarnumpy.uint32 para este propósito, pero parece demasiado tonto agregar una dependencia tan grande solo para un tipo simple y relativamente simple. ¿Cómo logro eso? Aquí están mis intentos hasta ahora:

MODULO = 7  # will be 2**32 later on

class u32:
    def __init__(self, num = 0, base = None):
        print(num)
        if base is None:
            self.int = int(num) % MODULO
        else:
            self.int = int(num, base) % MODULO
    def __coerce__(self, x):
        return None
    def __str__(self):
        return "<u32 instance at 0x%x, int=%d>" % (id(self), self.int)
    def __getattr__(self, x):
        r = getattr(self.int, x)
        if callable(r):
            def f(*args, **kwargs):
                ret = r(*args, **kwargs) % MODULO
                print("x=%s, args=%s, kwargs=%s, ret=%s" % (x, args, kwargs, ret))
                if x not in ['__str__', '__repr__']:
                    return u32(ret)
                return r(*args, **kwargs)
            return f
        return r

u = u32(4)
print("u/2")
a = u * 2
assert(isinstance(a, u32))

print("\n2/u")
a = 2 * u
assert(isinstance(a, u32))

print("\nu+u")
"""
Traceback (most recent call last):
  File "u32.py", line 44, in <module>
    a = u + u
  File "u32.py", line 18, in f
    ret = r(*args, **kwargs) % MODULO
TypeError: unsupported operand type(s) for %: 'NotImplementedType' and 'int'
"""
a = u + u
assert(isinstance(a, u32))

Respuestas a la pregunta(1)

Su respuesta a la pregunta