如果执行“ someVariable ['key'] = value”,则调用什么过程

时间:2019-01-30 20:39:31

标签: python c-api

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

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

打印(module.someVar ['key'])

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

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

1 个答案:

答案 0 :(得分:0)

Container types

我认为您正在寻找__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