При инициализации словаря с d = {}
инспектор кода Pycharm выдает предупреждение, говоря:
Это создание словаря может быть переписано как словарный литерал.
Если я перепишу его d = dict()
, предупреждение исчезнет. Поскольку {}
уже является словарным литералом, я уверен, что сообщение ошибочно. Более того, похоже, что и d = {}
, и d = dict()
являются валидными и пифоническими.
Этот смежный вопрос, похоже, позволяет сделать вывод, что выбор - это просто вопрос стиля/предпочтения: различия между "d = dict()" и "d = {}"
Почему Pycharm жалуется на d = {}
?
UPDATE:
Мак все понял. Предупреждение действительно относилось к нескольким строкам, а не только к той, которая была отмечена.
Похоже, Pycharm ищет последовательность последовательных утверждений, в которых вы инициализируете словарь, а затем устанавливаете значения в словаре. Например, это вызовет предупреждение:
d = {}
d['a'] = 1
Но этот код не вызовет:
d = {}
pass
d['a'] = 1