Какая процедура вызывается, если выполняется someVariable ['key'] = value " - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь написать интерфейс Python с C-API для моего приложения.
Я могу создать модуль и добавить процедуры и импортировать их в контексте Python.Затем я могу запустить скрипты Python для доступа к модулю и процедурам.

Я хотел бы использовать ключ для доступа к данным, например:
module.someVar ['key'] = значение
или
print (module.someVar ['key'])

Затем я хотел бы использовать ключ и данные в процедуре в C-коде.
Какая процедура вызывается вpyTypeObject?

Редактировать: SomeVar - это переменная типа, которую, похоже, я должен создать.И да, после комментариев это похожий на диктат объект.Похоже, что первый ответ укажет мне правильную точку, я сейчас проверяю это.

1 Ответ

0 голосов
/ 31 января 2019

Типы контейнеров

Я думаю, что вы ищете __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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...