Pergunta

Como é que iria expor "estático" de variáveis como este

class MyClass:
    X = 1
    Y = 2

através da API C?A única variável sobre a PyTypeObject que parece que ele ia trabalhar é tp_members, mas eu não vejo nenhuma bandeira no PyMemberDef para indicar que o membro deve ser por classe, não por instância.

Por um pouco mais de esclarecimento, uma vez que pode alterar a resposta, eu estou tentando expor a C enum para Python, tais que a enumeração

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

Pode ser acessado em Python como:

module.MyFlags.Alpha
module.MyFlags.Beta
Foi útil?

Solução

Basta colocá-los no tipo de tp_dict exemplo:com PyDict_SetItemString.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top