211

d = {}Pycharm のコード インスペクターで辞書を初期化すると、次のような警告が生成されます。

この辞書の作成は、辞書リテラルとして書き直すことができます。

書き直すとd = dict()、警告は消えます。{}すでに辞書リテラルなので、メッセージ間違っていると確信しています。さらに、有効でPythonicでもあるようd = {}ですd = dict()

この関連する質問は、選択は単にスタイル/好みの問題であると結論付けているようです: 「d = dict()」と「d = {}」の違い

Pycharm が不平を言うのはなぜd = {}ですか?

アップデート:

マックはそれを釘付けにしました。警告は、フラグが立てられた行だけでなく、実際には複数の行に適用されました。

Pycharm は、辞書を初期化してから辞書に値を設定する一連の連続したステートメントを探すようです。たとえば、これは警告をトリガーします。

d = {}
d['a'] = 1

しかし、このコードはしません:

d = {}
pass
d['a'] = 1
4

5 に答える 5

262

辞書宣言の次のコードは何ですか?

次のような場合、PyCharm はエラーをトリガーすると思います。

dic = {}
dic['aaa'] = 5

あなたが書くことができたように

dic = {'aaa': 5}

注: 関数を使用するとエラーがなくなるという事実は、必ずしも pycharmdict()がリテラルであると信じていることを意味しません。それは、次のことについて文句を言わないことを意味するだけかもしれません:

dic = dict()
dic['aaa'] = 5
于 2011-12-06T20:29:00.833 に答える
22

これは、プロジェクト設定またはデフォルト設定で無効にすることができます。

  • 設定 -> インスペクション -> Python に移動します
  • 「辞書の作成を辞書リテラルで書き換えることができる」のチェックを外す
于 2018-01-21T06:25:15.177 に答える