3

是否可以使用 Python C-API定义一个带有参数的类__getitem__?a成员的tuple成员必须 是 a ,所以我不知道该怎么做。(但我假设 NumPy做到了。)sq_itemtp_as_sequencePyTypeObjectssizeargfuncndarray

4

1 回答 1

5

是的,tp_as_mapping改为使用。

mp_subscript需要一个PyObject *,所以你可以使用任何东西作为索引/键。

要了解它们之间的关系,您可以查看其来源PyObject_GetItem()(如文档所述)相当于 Pythono[key]表达式。您会看到它首先尝试tp_as_mapping,如果不存在并且 key 存在int,它会尝试tp_as_sequence

于 2012-04-14T09:46:40.480 回答