当前位置:  开发笔记 > 编程语言 > 正文

为什么Pycharm的检查员抱怨"d = {}"?

如何解决《为什么Pycharm的检查员抱怨"d={}"?》经验,为你挑选了3个好方法。

当用d = {}Pycharm的代码检查器初始化字典时会产生警告,说

这个字典创建可以重写为字典文字.

如果我重写它d = dict(),警告就会消失.由于{}已经字典文字,我很确定该消息是错误的.此外,似乎都d = {}d = dict()有效,Python化.

这个相关的问题似乎得出结论,选择只是风格/偏好的问题: "d = dict()"和"d = {}"之间的差异

Pycharm为什么会抱怨d = {}

更新:

Mac钉了它.警告实际上应用于多行,而不仅仅是标记的行.

Pycharm似乎在寻找一系列连续的语句,您可以在其中初始化字典,然后在字典中设置值.例如,这将触发警告:

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

但是这段代码不会:

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

mac.. 235

您的字典声明的以下代码是什么?

我认为如果你有类似的东西,pycharm会触发错误:

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

你可以写的

dic = {'aaa': 5}

顺便说一句:如果使用该函数,错误消失的事实并不一定意味着pycharm认为dict()是文字.这可能只是意味着它没有抱怨:

dic = dict()
dic['aaa'] = 5

HTH!



1> mac..:

您的字典声明的以下代码是什么?

我认为如果你有类似的东西,pycharm会触发错误:

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

你可以写的

dic = {'aaa': 5}

顺便说一句:如果使用该函数,错误消失的事实并不一定意味着pycharm认为dict()是文字.这可能只是意味着它没有抱怨:

dic = dict()
dic['aaa'] = 5

HTH!


显然,对于所有这些无用的嘈杂检查,不幸的是我的一些同事完全将其关闭,这是一种耻辱,因为它对许多事情很有用,例如PEP,......,真正的问题和真实的性能提示.
@HelloGoodbye - 那么,为什么不将前两个与'd = {'a':A}`合并,然后只保留你概述的序列?

2> Craig Jackso..:

可以在"项目设置"或"默认设置"中禁用此功能.

导航到设置 - >检查 - > Python

取消选中"字典创建可以由字典文字重写"



3> 小智..:

对于那些喜欢(就像我一样)用单一操作初始化词典的人

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并没有抱怨这个


我畏缩.:(所以,你实际上增加了代码的数量,使它不那么清晰,运行速度慢,只是为了摆脱你碰巧使用的编辑器中的警告...我不使用pycharm,但我会假设有一些一种配置切换,它将禁用警告,并允许您以pythonic方式继续编码.:)
推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有