9

如何公开这样的“静态”变量

class MyClass:
    X = 1
    Y = 2

通过 C API?PyTypeObject 上唯一看起来可以工作的变量是 tp_members,但我在 PyMemberDef 中没有看到任何标志表明该成员应该是每个类,而不是每个实例。

为了更清楚一点,因为它可能会改变答案,我试图将 C 枚举暴露给 Python,以便枚举

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

可以在 Python 中访问为:

module.MyFlags.Alpha
module.MyFlags.Beta
4

1 回答 1

12

只需将它们放在类型的tp_dict中,例如使用PyDict_SetItemString

于 2010-03-04T00:19:07.850 回答