La opción -builtin de SWIG tiene la ventaja de ser más rápida y de estar exento de un error con herencia múltiple.
El inconveniente es que no puedo fijar cualquier atributo en las clases generadas o cualquier subclase:
-I puede extender una pitón tipo interno como lista, sin problemas, creando una subclase que:Extendiendo clases integradas de SWIG
class Thing(list):
pass
Thing.myattr = 'anything' # No problem
-Sin embargo el uso el mismo enfoque en un tipo SWIL incorporado, sucede lo siguiente:
class Thing(SWIGBuiltinClass):
pass
Thing.myattr = 'anything'
AttributeError: type object 'Thing' has no attribute 'myattr'
¿Cómo puedo evitar este problema?
Creo que hay que señalar que la solución de los monjes a este problema es totalmente adecuado, pero es probable que niega todos los beneficios del uso de '-builtin' en el primer lugar . Por supuesto, en mi caso, tengo una clase que necesita la velocidad, que no subclases; pero también tengo otra clase que hago subclase. Entonces es una técnica realmente útil. – Mike