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