Domanda

Come si potrebbe esporre le variabili "statiche" come questo

class MyClass:
    X = 1
    Y = 2

tramite l'API C? L'unica variabile sulla PyTypeObject che sembra che sarebbe il lavoro è tp_members, ma non vedo bandiera nel PyMemberDef per indicare che il membro dovrebbe essere per-classe, non per-esempio.

Per un po 'più di chiarimento, in quanto può cambiare la risposta, sto cercando di esporre un enum C a Python in modo tale che l'enumerazione

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

Si può accedere in Python come:

module.MyFlags.Alpha
module.MyFlags.Beta
È stato utile?

Soluzione

Basta metterli in del tipo tp_dict esempio con PyDict_SetItemString .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top