gpt4 book ai didi

python - 用 C 编写的 Python 模块中的常量整数属性

转载 作者:太空狗 更新时间:2023-10-29 16:05:46 24 4
gpt4 key购买 nike

我根据 https://docs.python.org/3.3/extending/extending.html 在 C 中实现了一个 python 扩展模块

现在我想在那个模块中有整数常量,所以我做了:

module= PyModule_Create(&myModuleDef);
...
PyModule_AddIntConstant(module, "VAR1",1);
PyModule_AddIntConstant(module, "VAR2",2);
...
return module;

这行得通。但是我可以修改 python 中的“常量”,比如

import myModule
myModule.VAR1 = 10

我试图重载 __setattr__,但是这个函数在赋值时没有被调用。

有解决办法吗?

最佳答案

您不能像在 C(++) 中那样在 Python 中定义模块级“常量”。 Python 的方式是期望每个人都像负责任的成年人一样行事。如果某些内容全部大写且带有下划线(如 PEP 8 指示),则不应更改它。

关于python - 用 C 编写的 Python 模块中的常量整数属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42394104/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com