当前位置: 首页 > 面试题库 >

Pycharm的检查员为何抱怨“ d = {}”?

夹谷腾
2023-03-14
问题内容

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

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

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

这个相关的问题似乎可以得出结论,选择仅取决于样式/偏好: “ d = dict()”和“ d =
{}”之间的差异

皮查姆为什么会抱怨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!



 类似资料:
  • 问题内容: 我尝试在Ubuntu 12.04上安装Pycharm,并且得到以下信息: 正常工作该怎么办? 问题答案: 由于Oracle设置的限制,大多数较新的发行版不再包含Oracle(Sun)JDK。相反,它们与OpenSDK一起提供。尽管OpenSDK适用于大多数应用程序,但PyCharm似乎存在一些问题。 您必须手动安装Oracle(Sun)JDK,并确保它是默认JDK或在启动PyCharm

  • 我想在我的项目中使用Jetbrains@nullable/@notnull注释。 我有一个具有@NotNull字段的类。构造函数自然不接受,而是抛出异常。当然,这个构造函数的参数也是用@NotNull注释的。 为什么IntelliJ IDEA抱怨空检查?文件指出: 带NotNull注释的元素声明null值被禁止返回(对于方法)、传递(参数)和保留(局部变量和字段)。 但是我仍然必须在运行时检查nu

  • 我是PyCharm的新手,我正在尝试将其用于Django开发。我的应用程序的结构如下: 在中,我得到一个警告: 找不到模板文件“主页.html 源代码: 模板文件位于中。当我运行站点时,视图可以正常工作。在项目的Django Support页面上,EnableDjangoSupport打开,Django-projectroot、Settings和Manage脚本值都正确。 那么,为什么我会收到警告

  • 我一直在尝试以多种不同的方式在windows上构建fltk,但最终我总是得到: 配置:错误:C编译器无法创建可执行文件(msys fltk/配置) 或 检查C编译器是否正常工作:C:/MinGW/bin/gcc.exe--已损坏(CMake-gui) 我用fltk 1.3.0和1.3.3试用过它,我甚至用过三个不同的MinGW发行版,GCC版本:。但它无法编译。以下是由生成的一些错误日志/配置文件

  • 问题内容: 具有函数f(x,y,z),我需要求解约束f(x,y,z)= 0,然后对其进行绘制。我试图为每对(y,z)查找f(x,y,z)= 0的值x: Python(2.7.5)说“ TypeError:fsolve:’func’参数’func’的输入和输出形状不匹配。” 但是,如果我自己进行测试,它会具有相同的形状: 返回True。 为什么fsolve()抱怨? 问题答案: 期望参数和的返回值为

  • [Error]org.testng.testngException:无法将@Test annotated方法[testLoginPage]与[interface java.util.Map]插入。有关本机依赖项注入的更多信息,请参阅http://testng.org/doc/documentation-main.html#native-dependent ency-injection at org