문제

How would one expose "static" variables like this

class MyClass:
    X = 1
    Y = 2

via the C API? The only variable on the PyTypeObject that looks like it would work is tp_members, but I see no flag in the PyMemberDef to indicate that the member should be per-class, not per-instance.

For a bit more clarification, since it may change the answer, I'm trying to expose a C enum to Python such that the enumeration

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

Can be accessed in Python as:

module.MyFlags.Alpha
module.MyFlags.Beta
도움이 되었습니까?

해결책

Just put them in the type's tp_dict e.g. with PyDict_SetItemString.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top