1. ホーム
  2. python

AttributeError: 'dict' object has no attribute 'has_key' in Python3 の解決策を紹介します。

2022-02-12 04:33:18

以下のコードを一度に書くと、AttributeError: 'dict' object has no attribute 'has_key'というエラーが発生するのですが、どうしたらいいでしょうか?

if not my_dict.has_key(my_key):

私は本当に混乱しました。Python 2ではいつもこのように書いていたのに、なぜ間違っていたのでしょうか?

ドキュメントを確認したところ、dictのhas_key()メソッドはPython 3で非推奨になったことがわかりました。

では、それでも上記の文を実装したい場合はどうすればいいのでしょうか?

この書き方は2通りあり、1つは

if my_key is not in my_dict:

もうひとつは.

if my_dict.get(my_key) is not None:

なお、Noneは辞書のデフォルト値なので、他の設定をしている場合はNoneを自分の設定に変更してください。

実は、Web上の誰かがこの話をしているのですが、Python3の書き出しでは、1つしか提供していないので、ここに追加します。もちろん、Python2を使っている人は、一番上のものでいいと思います。