0

我正在尝试为我的应用程序编写一个带有 C-API 的 python 接口。
我可以创建一个模块并添加过程并将它们导入 python 上下文中。然后我可以运行 python 脚本来访问模块和过程。

我想使用一个键来访问数据,例如:
module.someVar['key'] = value

print(module.someVar['key'])

然后我想在 C 代码的过程中使用密钥和数据。
pyTypeObject 中调用了什么过程?

编辑: SomeVar 是我必须创建的类型的变量。是的,在评论之后,它是一个类似字典的对象。似乎第一个答案指出了我正确的观点,我目前正在测试它。

4

1 回答 1

0

容器类型

我想你正在寻找__getitem____setitem__

例如:

class C:
    def __getitem__(self, item):
        print(f"a['{item}'] called")

    def __setitem__(self, item, value):
        print(f"a['{item}'] = {value} called")

a = A()
a["get"]
>> a['get'] called
a["set"] = 0
>> a['set'] = 0 called
于 2019-01-30T22:09:15.770 回答