2010-03-03 222 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