繁体   English   中英

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

[英]How do I set a static class variable in C for Python?

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

  1. 定义对象(数据隐含)
  2. 定义类型(行为包装器)
  3. 定义具体行为,并将其设置到相应的tp_xx插槽中

对于new功能, init功能,例如成员,属性,甚至dealloc ,所有的人都可以发现在插槽 PyTypeObject声明,像tp_newtp_inittp_memberstp_methodstp_dealloc 但是没有像tp_statics这样的插槽。

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

也许你应该看看这个问题

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM