我想知道如何從C++ for Python中定義靜態類變量?等效Python代碼會是這樣:如何用C++在Python中定義靜態類屬性?
class foo:
bar = int
我試圖用定義類型時tp_getset場,但事實證明這是行不通的,並返回Python中的getset_descriptor
,並要求當它不工作(AttributeError)。此外,Python文檔說直接操縱tp_dict
與C API是不安全的。但它沒有告訴用什麼來代替。 (請參閱 here)
我在示例中故意選擇了int
,因爲我引用了其他一些類,如果這很重要的話。
也許在這裏你可以找到答案https://stackoverflow.com/questions/68645/static-class-variables-in-python – magicleon
@magicleon,是的,這就是我想要的。但我的意思是來自C++,使用C-API的庫/模塊。 – YiFei
請參閱[issue#12719](https://bugs.python.org/issue12719)瞭解爲什麼訪問'tp_dict'是不安全的。 – myaut