0

Python C-API 関数の戻り値 -1 の考えられる原因は何だろうと思っていますPyDict_DelItem

キーと値が辞書に存在することは確かですが、-1 の戻り値を取得する理由がわかりません。考えられる原因に関するドキュメントは見つかりませんでした。

4

1 に答える 1

3

ソースコードから:

  • 最初の引数は dict ではありません (PyDict_Checkテストは失敗します): raises SystemError.
  • キーはハッシュ可能ではありません:または他の例外が発生する可能性があり、正確な実装またはフックの実装NotImplementedに依存します。__hash__PyObject_Hash
  • dict: raises にキーが見つかりませんでしたKeyError

いずれにせよ、-1 が返されたときに例外が設定されているかどうかを確認する必要があります。PyDict_DelItem

于 2013-01-10T10:53:37.713 に答える