为什么Pycharm的检查员抱怨“d = {}”?
当用d = {}初始化一个字典时,Pycharm的代码检查器产生一个警告,说 
这个字典的创build可以被重写为字典文字。
 如果我改写它d = dict()警告消失。 由于{}已经是字典文字,我很确定这个信息是错误的。 而且,似乎d = {}和d = dict()都是有效的,而且是Pythonic。 
这个相关的问题似乎得出结论:select只是风格/偏好的问题: “d = dict()”和“d = {}”之间的区别
 为什么Pycharm会抱怨d = {} ? 
更新:
Mac钉了它。 警告实际上适用于多行,而不仅仅是被标记的警告。
Pycharm似乎寻找一系列连续的语句,在这些语句中初始化字典,然后在字典中设置值。 例如,这将触发警告:
 d = {} d['a'] = 1 
但是这个代码不会:
 d = {} pass d['a'] = 1 
	
什么是您的字典声明以下代码?
我认为pycharm会触发错误,如果你有这样的事情:
 dic = {} dic['aaa'] = 5 
正如你可以写的
 dic = {'aaa': 5} 
 顺便说一句:如果你使用函数,错误消失的事实并不一定意味着pycharm相信dict()是一个文字。 这可能意味着它不会抱怨: 
 dic = dict() dic['aaa'] = 5 
HTH!
对于那些喜欢(就像我一样)用单一操作初始化字典
 d = { 'a': 12, 'b': 'foo', 'c': 'bar' } 
而不是像许多行
 d = dict() d['a'] = 12 d['b'] = .... 
最后我结束了这个:
 d = dict() d.update({ 'a': 12, 'b': 'foo', 'c': 'bar' }) 
Pycharm并不抱怨这一点