Tengo una pequeña pregunta sobre la variable estática y TypeObjects. Uso la API C para envolver un objeto C++ (llamémoslo Acpp) que tiene una variable estática llamada x. Vamos a llamar a mi TypeObject A_Object:Python API C++: "Variable estática" para un Objeto Type
typedef struct {
PyObject_HEAD
Acpp* a;
} A_Object;
El TypeObject está conectada a mi módulo de Python "mimodelo" como "A". He definido getter y setters (tp_getset) para que pueda acceder y modificar la variable estática de ACPP de pitón:
>>> import myMod
>>> myA1 = myMod.A(some args...)
>>> myA1.x = 34 # using the setter to set the static variable of Acpp
>>> myA2 = myMod.A(some other args...)
>>> print myA2.x
34
>>> # Ok it works !
esta solución funciona, pero no es muy "limpia". Me gustaría tener acceso a la variable estática en Python usando la TypeObject y no los casos:
>>> import myMod
>>> myMod.A.x = 34 # what I wish...
¿Alguien tiene una idea para que me ayude?
Gracias de antemano.
Gracias por su respuesta. Creo que puedo resolver mi problema añadiendo un campo a tp_dict después de la llamada a PyType_Ready. – ThR37