- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑以下用例(最小示例):
def get_func(param):
if param is None:
def func():
return None
else:
def func():
return param
return func
def process_val(param):
func = get_func(param)
val = func()
# Do stuff with 'val'; *None* is an useful case.
return val
这里,func() 可以返回或不返回 None,这取决于 param 的值,但是 Pylint 为此触发 E1128,以下解释:
Used when an assignment is done on a function call but the inferred function returns nothing but None.
我很想禁用此代码的警告,但它实际上被归类为错误,这让我觉得这实际上在过去产生了错误,所以我想了解:这是 Pylint 错误吗,没有看到有时创建的函数会返回 None 以外的东西?还是可能有一个总是返回 None 的函数被认为是太糟糕的做法?也许还有其他我看不到的解释?
如果这看起来太复杂了,实际用例更像这样:
def get_func(source):
if source is None:
def func():
return None
elif source is "webcam":
# Open webcam...
def func():
# Capture frame from webcam
return frame
elif source is "server":
# Open connection to server...
def func():
# Read data from server.
return data
# Other cases...
return func
def process_val(source):
data_func = get_func(source)
# Here, do stuff in a loop, or pass *data_func* to other functions...
# The code that uses the *data_func* knows that *None* means that
# data could not be read and that's OK.
对于使用 data_func 的代码,这样比必须考虑 source 的值来决定数据是否总是 None< 更简单/em>。对我来说,这似乎是一种有效的函数式方法(也许我错了,这不是 Pythonic 方式)。
(我正在使用 Pylint 2.12.2)
最佳答案
如果该函数并不总是返回 None,那么这是 pylint 对您的代码没有很好理解的误报。如果函数总是返回 None 你没有理由将它赋值给一个变量,这意味着代码充其量只是在做一个无用的赋值,而不是按照你的想法去做,或者最坏的情况是完全错误。不确定为什么它是错误消息而不是警告。
关于python - Pylint 错误 E1128 背后的逻辑(无分配),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74467217/
以 pylint-1.0.0 开头--include-ids不再允许争论。 如何得到: ************* Module foo.bar E:199,11: Module 'yaml' has
Pylint 在 Linux 运行中退出,代码为 28。这个错误代码是什么意思? 我知道这并不意味着空间不足,因为我在空 VM 上尝试了相同的命令。 最佳答案 Linux 上的 Pyline 退出代码
第 4.1 节中的文档明确指出: https://pylint.readthedocs.io/en/latest/faq.html#message-control 4.1 Is it possible
我正在寻找类似的东西 [BASIC] good-names=X, y 如在 pylintrc 中,但我想将这些名称限制为仅在单个 python 文件中有效。 我考虑过在文件顶部使
给定以下 python 代码: import git try: raise git.exc.GitCommandError("dummy", "foo") except git.exc.Git
为了识别臭代码,我想运行 pylint好像没有# pylint: disable=*说明(例如 pylint: disable=broad-except )。 是否可以禁用 disable自己在命令行
在 python 文件上运行 pylint 时,它默认显示有关 TODO 注释的警告。例如: ************* Module foo W:200, 0: TODO(SE): fix this
这个问题已经有答案了: Invoking Pylint programmatically (10 个回答) 已关闭 9 年前。 我使用Python 3.3,Windows,通过pip工具安装pylin
我已经在我在 Ubuntu 18.04 上使用的 VM 上正确安装了所有上述模块。在特定脚本或文件夹上运行它们中的任何一个时,它们会正确识别样式错误并将其输出到控制台中。例如。: (venv) ...
我正在尝试将模块添加到我的 Pylint 路径,以便可以使用 seen in this question 的解决方案导入它们.不幸的是,我期望在使用此解决方案后应该可以导入的模块似乎仍然不存在。我想检
我的 Pylint 安装导入 flask 就好了。并且使用相同的 flask 安装,我的应用程序中运行良好的 wtforms。但是,当我在导入 wtforms 的文件上运行 Pylint 时: fro
我正在使用 pylint 1.6.4和 git-pylint-commit-hook 2.1.1在预提交时对我的文件进行 lint。我也用 alembic为了生成我的迁移,它们存储在 /migrati
我正在尝试让 Eclipse 识别我在 Jenkins 中使用的 PyLint 配置文件。目前,Eclipse pylint 充斥着无用的错误。我尝试过传入 rcfile 参数。所以... Windo
在python linting docs对于 VS Code,它有这个用于将插件添加到 pylint 的示例: "python.linting.pylintArgs": ["--load-plugin
为什么 pylint 提示这个代码块?R1705: Unnecessary "elif" after "return" (no-else-return) def f(a): if a == 1
我有一个场景,当我想使用 Python 文件运行 pylint 命令时。使用我正在使用的命令提示符 python3 -m pylint test.py 除此之外,我想格式化我的消息,以便以后可以使用
$ pylint --reports=n main.py 输出: No config file found, using default configuration 最佳答案 如果您没有 No con
如何在 Pylint 中禁用“关键字参数分配周围不允许有空格”? 我找到了为什么它会检查空格( PEP 8, why no spaces around '=' in keyword argument
我正在使用带有包控制的 Sublime Text 3 前几天我通过Package Control安装了Pylint 但是不行,只要打开Sublime Text 3就跳出这个提示框 我该如何解决? 最佳
我正在使用pytorch并且pylint无法识别例如torch.stack的几个函数,但是,如果我导入torch._C as torch 似乎工作正常。 如果我执行上述操作,torch 包中存在的实际
我是一名优秀的程序员,十分优秀!