【发布时间】:2021-01-28 20:37:29
【问题描述】:
Pylint 抱怨 round built-in referenced 但有什么替代方法?
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
}
更新:当在 Pylint 参数中设置 --enable=W 时会显示。它显示了对round() 函数的绝对任何使用,包括指定第二个参数。
pylint file.py --enable=W 的 Pylint 输出如下所示:
file.py:435:18: W1633: round built-in referenced (round-builtin)
【问题讨论】:
-
这里没有问题,afaikt。忽略 linter。
-
能分享一段相关的代码吗?
-
您可能已经意识到这一点,但是 :according pylint.pycqa.org/en/latest/technical_reference/…,
round()具有“Python 3 中向后不兼容的语义”。版本之间不同行为的一个示例是:round(1)在 3.X 中返回一个整数,在 2.7 中返回一个浮点数。我不知道这是否是唯一的区别,但如果你打算编写一个版本互兼容的替代方案,你绝对应该考虑到这一点。 -
你试过添加第二个参数吗?如果您四舍五入到 2 位,请尝试:round(n, 2)
-
@h_r_b_y -- 是的,对该函数的任何使用都会导致警告。
标签: python python-3.x pylint