跳到内容

sys-version-slice3 (YTT101)

源自 flake8-2020 linter。

作用

检查对 sys.version[:3] 的使用情况。

为什么这不好?

如果当前主版本号或次版本号由多个数字组成,则 sys.version[:3] 将截断版本号(例如,"3.10" 将变为 "3.1")。 这可能并非预期,如果版本字符串用于测试特定 Python 版本,则可能导致细微的错误。

相反,请使用 sys.version_info 来访问当前主版本号和次版本号作为元组,该元组可以与其他元组进行比较,而不会出现问题。

示例

import sys

sys.version[:3]  # Evaluates to "3.1" on Python 3.10.

建议改为

import sys

sys.version_info[:2]  # Evaluates to (3, 10) on Python 3.10.

参考