【问题标题】:What does @UndefinedVariable stand for in Python?@UndefinedVariable 在 Python 中代表什么?
【发布时间】:2017-07-18 09:14:45
【问题描述】:

我在this 脚本中遇到了# @UndefinedVariable 标记。这个注释在执行过程中是否有任何意义?

【问题讨论】:

  • 不,对Python没有意义。
  • 为什么所有的反对票?一个明确的问题,虽然看起来很明显,但对于新手来说肯定是一个合理的问题

标签: python comments python-decorators


【解决方案1】:

不,该文本对 Python 没有意义。它在注释中,cmets 永远不会到达运行时

目前,Python 语言 将含义分配给一种注释类型,source encoding declaration。该评论仅对标记器有意义。它也不会保留,并且在运行时不可用,它只会影响标记器在解析和编译成字节码之前如何读取源代码。

文本中包含@ 既不存在也不存在,它与 Python 装饰器语法无关;这可能是完全不同的东西。例如,有几个文档系统使用@ 来表示文本的特殊含义; javadoc 就是一个很好的例子。 probably 文本对于根据自己的需要解析源代码的外部工具有意义。

【讨论】:

【解决方案2】:

那些 cmets 很可能是由 PyDev 编辑器添加到那里的。它非常特定于该编辑器,并且不是 python 语言的一部分。它基本上是一条注释,告诉 PyDev 的代码助手不要抱怨该行。

还有其他工具,例如 pyflakes,可以查找具有特定内容的 cmets。

这主要由分析代码的工具使用。

【讨论】:

  • 当我搜索 @UndefinedVariable 时,我发现很多页面确实提到了 PyDev。
  • @dada 确实。您可能还会看到很多# flake8: noqa# noqa。这是 cmets 告诉 pyflakes 库在测试 pep8 合规性时忽略部分代码:python.org/dev/peps/pep-0008
猜你喜欢
  • 2012-08-14
  • 2019-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-02
  • 2018-07-07
  • 2013-04-14
  • 2011-04-11
相关资源
最近更新 更多