我想知道如何从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