sys-version-cmp-str3 (YTT103)
源自 flake8-2020 linter。
作用
检查将 sys.version 与字符串字面量进行比较的情况,此类比较在 Python 3.10 或更高版本上会评估为 False。
为什么这不好?
将 sys.version 与字符串进行比较容易出错,并可能导致细微的错误,因为比较将按字典顺序执行,而不是按语义执行。例如,在使用 Python 3.10 时,sys.version > "3.9" 将评估为 False,因为 "3.10" 在字典顺序上“小于” "3.9"。
相反,请使用 sys.version_info 来访问当前主版本号和次版本号作为元组,该元组可以与其他元组进行比较,而不会出现问题。
示例
建议改为