【发布时间】:2010-03-03 19:32:38
【问题描述】:
如何公开这样的“静态”变量
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
【问题讨论】:
-
我自己找到答案后才发现这个 SO 问题。在此之前,我搜索了诸如“cpython 类常量”之类的东西。我想知道我们是否可以在这个问题上添加更多的词来帮助其他人找到它。
标签: python python-c-api