2010-03-03 170 views
2

一个人怎么会暴露这样静态变量

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 

回答

6

只要把它们放在类型的tp_dict eg与PyDict_SetItemString

+0

非常好!这就是我一直在寻找的。 (如果在将其标记为已回答之前花点时间对其进行测试,您可以原谅我。) – Toji 2010-03-04 01:43:47

+0

按广告形式工作。 :) 再次感谢。 – Toji 2010-03-04 05:23:51