Question

Comment peut-on exposer les variables "statiques" comme celui-ci

class MyClass:
    X = 1
    Y = 2

via l'API C? La seule variable sur la PyTypeObject qui ressemble à cela fonctionnerait est tp_members, mais je ne vois pas de drapeau dans le PyMemberDef pour indiquer que le député devrait par classe, et non par instance.

Pour un peu plus de précisions, car il peut changer la réponse, je suis en train d'exposer un C ENUM à Python tels que l'énumération

enum MyFlags {
    Alpha = 0,
    Beta = 1
};

Peut être consulté en Python:

module.MyFlags.Alpha
module.MyFlags.Beta
Était-ce utile?

La solution

Il suffit de les mettre dans le type de tp_dict par exemple avec PyDict_SetItemString .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top