内置 round() 的替代方案是什么?
What is the alternative to built-in round()?
Pylint 抱怨 round 内置引用 但有什么选择?
answers I've seen thus far 只是为了让 Pylint 在内置函数方面安静下来。一定有其他方法可以调用 round()
,也许是在标准导入库中?使用内置函数是否存在潜在问题?
我搜索这些答案只找到了几十个关于使用内置函数的教程。
用法与 round()
无关。这会触发警告:
n = 0.05
n = round(n)
确切的警告只出现在 VS Code 中,它是:
{
"resource": "/C:/Users/neil.obremski/project/file.py",
"owner": "python",
"code": "round-builtin",
"severity": 4,
"message": "round built-in referenced",
"source": "pylint",
"startLineNumber": 434,
"startColumn": 9,
"endLineNumber": 434,
"endColumn": 9
}
UPDATE:当在 Pylint 参数中设置 --enable=W
时会显示。它绝对显示 any 对 round()
函数的使用,包括指定第二个参数。
下面是 pylint file.py --enable=W
的 Pylint 输出:
file.py:435:18: W1633: round built-in referenced (round-builtin)
如果你只使用 python3.x 你可以忽略这个警告(默认情况下它是禁用的,你传递给 pylint
的一些选项正在启用这个)
该警告旨在成为 --py3k
套件检查的一部分,该套件会查找 python2 / python3 兼容性问题(如果您 python3-只是,这套检查可能 对您编写的代码非常有害)
标记所有使用 round
的原因是舍入算法和返回的类型在 python 3 中发生了变化。在 python3 中,现在使用 [=13] 完成舍入=])
鉴于 和 Python2 几乎已过时的事实,最好 忽略 此警告。
Linters 甚至 PEP8 给出了文体建议。通常非常有用的建议。但有时有充分的理由忽略该建议。
我的建议是在所有项目中使用您喜欢的 linter。然后列出所有错误和警告(在您看来)是误报、过于迂腐或无用的。在 linter 的配置文件中全局禁用它们。
如果您不想全局禁用错误或警告,一些 linter 接受 # noqa
注释作为不检查特定行的通知。
如果您需要代码与 Python 2 和 3 兼容并且不能更改 lint 设置,请使用此导入
from builtins import round
Pylint 抱怨 round 内置引用 但有什么选择?
answers I've seen thus far 只是为了让 Pylint 在内置函数方面安静下来。一定有其他方法可以调用 round()
,也许是在标准导入库中?使用内置函数是否存在潜在问题?
我搜索这些答案只找到了几十个关于使用内置函数的教程。
用法与 round()
无关。这会触发警告:
n = 0.05
n = round(n)
确切的警告只出现在 VS Code 中,它是:
{
"resource": "/C:/Users/neil.obremski/project/file.py",
"owner": "python",
"code": "round-builtin",
"severity": 4,
"message": "round built-in referenced",
"source": "pylint",
"startLineNumber": 434,
"startColumn": 9,
"endLineNumber": 434,
"endColumn": 9
}
UPDATE:当在 Pylint 参数中设置 --enable=W
时会显示。它绝对显示 any 对 round()
函数的使用,包括指定第二个参数。
下面是 pylint file.py --enable=W
的 Pylint 输出:
file.py:435:18: W1633: round built-in referenced (round-builtin)
如果你只使用 python3.x 你可以忽略这个警告(默认情况下它是禁用的,你传递给 pylint
的一些选项正在启用这个)
该警告旨在成为 --py3k
套件检查的一部分,该套件会查找 python2 / python3 兼容性问题(如果您 python3-只是,这套检查可能 对您编写的代码非常有害)
标记所有使用 round
的原因是舍入算法和返回的类型在 python 3 中发生了变化。在 python3 中,现在使用 [=13] 完成舍入=])
鉴于
Linters 甚至 PEP8 给出了文体建议。通常非常有用的建议。但有时有充分的理由忽略该建议。
我的建议是在所有项目中使用您喜欢的 linter。然后列出所有错误和警告(在您看来)是误报、过于迂腐或无用的。在 linter 的配置文件中全局禁用它们。
如果您不想全局禁用错误或警告,一些 linter 接受 # noqa
注释作为不检查特定行的通知。
如果您需要代码与 Python 2 和 3 兼容并且不能更改 lint 设置,请使用此导入
from builtins import round