如何在C中为Python设置静态类变量?

时间:2018-03-10 09:20:47

标签: python c cpython

根据Python文档,在C中为Python实现一个类可以大致分为三个步骤:

  1. 定义Object(数据impl)
  2. 定义Type(行为包装器)
  3. 定义具体行为,并将其设置为相应的tp_xx广告位
  4. 对于new函数,init函数,实例成员,属性甚至dealloc,所有这些函数都可以在{{1}中找到 slot 声明,例如PyTypeObjecttp_newtp_inittp_memberstp_methods。但是没有像tp_dealloc这样的插槽。

    我应该在哪里声明静态变量以及我应该在哪里设置它们?我搜索了互联网,但一无所获。有谁可以给​​我一个线索呢?

2 个答案:

答案 0 :(得分:1)

也许你应该看看this question

Python中没有static个关键字,类属性存储在class.__dict__中。

答案 1 :(得分:0)

@avram提到了解决我问题的答案 但对于发现修改后静态属性未更新的任何人,您可以检查PyType_Modified函数。

相关问题