Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C中为Python设置静态类变量?_Python_C_Cpython - Fatal编程技术网

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

如何在C中为Python设置静态类变量?,python,c,cpython,Python,C,Cpython,根据Python文档,用C为Python实现类大致可以分为三个步骤: 定义对象(数据impl) 定义类型(行为包装器) 定义具体行为,并将其设置到相应的tp_xx槽中 对于new函数、init函数、实例成员、属性,甚至dealoc,所有这些都可以在PyTypeObject声明中找到插槽,如tp\u new、tp\u init、tp\u成员、tp\u方法和tp\u dealoc>。但是没有像tp\u statics这样的插槽 我应该在哪里声明静态变量,在哪里设置它们?我在网上搜索,但一无所获。有谁

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

  • 定义对象(数据impl)
  • 定义类型(行为包装器)
  • 定义具体行为,并将其设置到相应的
    tp_xx
    槽中
  • 对于
    new
    函数、
    init
    函数、实例成员、属性,甚至
    dealoc
    ,所有这些都可以在
    PyTypeObject
    声明中找到插槽,如
    tp\u new
    tp\u init
    tp\u成员
    tp\u方法
    tp\u dealoc>。但是没有像
    tp\u statics
    这样的插槽


    我应该在哪里声明静态变量,在哪里设置它们?我在网上搜索,但一无所获。有谁能给我一点线索吗?

    也许你应该去看看


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

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