【问题标题】:multiple lambdas in python program cause VS Code to report a "problem"python 程序中的多个 lambdas 导致 VS Code 报告“问题”
【发布时间】:2019-07-22 01:28:44
【问题描述】:

我正在尝试运行 Google 机器学习速成课程中的一些示例 Python 代码。我正在尝试使用 Visual Studio Code 作为我的 IDE。

示例代码定义了一个调用相同类方法但参数不同的 lambda 函数。 VS Code 将此报告为“问题”。

我已将代码简化为:

def foo(x):
    return x*2

f1 = lambda:foo(1)
f2 = lambda:foo(2)

VS Code 报告:函数已在第 1 行定义。

问题: 1)这实际上是一个错误,如果是,为什么? 2) 有没有更好的方法来做到这一点?

编辑

答案: 请参阅实际解决方案的公认答案

将 lambda 分配给变量违反 pep8。 pylint linter 对此保持沉默,但 PEP8 linter 生成:不要分配 lambda 表达式,使用 def

【问题讨论】:

  • 你使用什么扩展?该消息并非来自 vscode vanilla,仅启用了 MS 提供的 Python 扩展。
  • @taegyung 你的评论很有帮助。事实证明,“python”扩展正在引起问题。请参阅斜体字的详细信息。我安装了“Python for VSCode”,这不会产生问题。但是,我不知道我从这种变化中获得或失去了什么。 名称:Python ID:ms-python.python 描述:Linting、调试(多线程、远程)、智能感知、代码格式化、重构、单元测试、sn-ps 等。版本:2019.6.24221 发布者:Microsoft VS Marketplace 链接:marketplace.visualstudio.com/items?itemName=ms-python.python
  • 另外,我将它与 Python 3.6.8 64 位一起使用,由 anaconda 安装
  • 那么您使用的是 ms-python.python 还是其他扩展?以及谁在报告问题(即问题应指定哪个工具,例如 Pylint、python 语言服务器的“python”等)。

标签: python visual-studio-code


【解决方案1】:

这是一个bug in the language server 并已修复。有关如何获取更新的详细信息,请参阅问题。

【讨论】:

    猜你喜欢
    • 2021-04-08
    • 2022-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多