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