gpt4 book ai didi

c++ - 禁用设置 python 扩展对象的属性

转载 作者:太空宇宙 更新时间:2023-11-04 14:02:58 25 4
gpt4 key购买 nike

我在 Defining New Types 之后创建了一个 Python 扩展指导。

在某一时刻,它表示使用 PyGetSetDef[] 为新类型的属性定义 gettersetter。我已经这样做了,但是这些 getter 和 setter 被忽略了,我不确定为什么。

目前,我有这样工作的代码:

import new_ext_obj
test = new_ext_obj.init("string") # sets the 'name' attribute of the new object
test.name # returns "string"
test.name = "what" #
test.name # returns "what"

我正在努力使 test.name = "what" 不起作用 - 我不希望此属性在初始化后可以更改。但是,我的 setter 被忽略了,所以我不知道如何完成此操作。有什么想法吗?

最佳答案

事实证明,您需要创建一个 setattr 函数,详情 here .

关于c++ - 禁用设置 python 扩展对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18382418/

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