0

我想知道 Python C-API 函数的 -1 返回值的可能原因是什么PyDict_DelItem

我确定字典中存在键和值,但不明白为什么有时我会得到 -1 返回值。我没有找到有关可能原因的文档。

4

1 回答 1

3

源代码

  • 第一个参数不是 dict (PyDict_Check测试失败): raises SystemError
  • 密钥不可散列:可能引发NotImplemented或其他异常,取决于确切的__hash__PyObject_Hash钩子实现。
  • 在字典中找不到密钥: raises KeyError

在任何情况下,您都需要检查当 -1 返回时是否设置了异常。PyDict_DelItem

于 2013-01-10T10:53:37.713 回答