У меня небольшой вопрос о статической переменной и объектах TypeObject.
Я использую API C, чтобы обернуть объект c ++ (назовем его Acpp), который имеет статическую переменную с именем x.
Давайте назовем мой TypeObject A_Object:
typedef struct {
PyObject_HEAD
Acpp* a;
} A_Object;
TypeObject присоединен к моему модулю Python "myMod" как "A". Я определил getter и setters (tp_getset), чтобы я мог получить доступ и изменить статическую переменную Acpp из python:
>>> 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 !
Это решение работает, но оно не совсем "чистое". Я хотел бы получить доступ к статической переменной в Python, используя TypeObject, а не экземпляры:
>>> import myMod
>>> myMod.A.x = 34 # what I wish...
У кого-нибудь есть идея, чтобы помочь мне?
Заранее спасибо.