【问题标题】:weak warning in PyCharm: Unexpected argumentPyCharm 中的弱警告:意外的参数
【发布时间】:2016-02-17 17:35:13
【问题描述】:

此检查报告声明的参数和实际参数之间的差异,以及不正确的参数(例如重复的命名参数)和不正确的参数顺序。装饰器也被分析。

^这就是 PyCharm 告诉我的。这是一个弱警告,所以我的代码运行良好。

import collections
var_dict = {}
var_dict = collections.OrderedDict(sorted(var_dict.items()))

^这是有问题的代码行。我相信警告与OrderedDict 通话有关。

我检查了OrderedDict documentation 的 Python 3.5,但我仍然不知道。

为什么我会收到此警告?我正在使用 PyCharm 社区版 5.0.1

【问题讨论】:

  • 我发布了an issue - 在 Python 2 中有类似的警告。我相信这是他们检查中的一个错误(在 pycharm 5 中),但让我们看看他们的反应。
  • @Mr_and_Mrs_D 你的回答怎么了?我打算在一天内接受它。
  • 他们删除了它 - 将重新发布它。太可笑了
  • 今天分配了错误 - 让我们看看 :)

标签: python-3.x collections pycharm ordereddictionary


【解决方案1】:

我发布了an issue - 在 Python 2 中有类似的警告。我相信这是他们检查中的一个错误(在 PyCharm 5 中),但让我们看看他们是如何回应的。

致版主:这是一个有效的答案as recognized by the OP。这不是“评论”。删除前请仔细阅读。

【讨论】:

  • 在这里操作。是的,一个错误可以解释为什么我仍然有一个弱警告。如果明天之前没有新消息出现,当赏金到期时,我会接受这个答案。
  • 您的问题似乎已得到解决,但仅限于个别情况。特别是a new issue 标识错误警告,例如collections.defaultdict(None, dict(a=1))collections.OrderedDict(dict(a=1))
【解决方案2】:

所以在我的例子中,我有一个带有__new__ 方法的类,其中包含允许的输入参数,但我缺少__init__ 方法,因为我的类是不可变的。我有这个警告的代码看起来像instance = MyClass(a=1, b=2)__new__ 方法签名复制到 __init__ 会消除此警告。

【讨论】:

    猜你喜欢
    • 2020-03-15
    • 2011-09-28
    • 2021-05-22
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    • 2019-08-07
    • 1970-01-01
    • 2017-05-31
    相关资源
    最近更新 更多