private-type-parameter (UP049)
源自 pyupgrade linter。
有时提供修复。
作用
检查通用类和函数中带有前导下划线的 PEP 695 类型参数的使用情况。
为什么这不好?
PEP 695 类型参数的作用域本身就被限制在其出现的类或函数内部,因此前导下划线不仅无法提供常规的隐私保护,反而会降低可读性。
不过,对于“单下划线”(如 _T_)或“双下划线”(如 __T__)形式的类型参数名称,将不会触发诊断或自动修复,因为这些名称不被视为私有名称。
示例
建议改为
修复可用性
如果去除下划线后的名称会遮蔽内置函数或其他变量、属于关键字,或者在其他情况下成为无效标识符,则无法提供自动修复。在这种情况下,你可以考虑使用后缀下划线或完全换一个名称来满足该 Lint 规则。
另请参阅
该规则会重命名私有的 PEP 695 类型参数,但不会将非 PEP 695 的泛型转换为新格式。请参阅 non-pep695-generic-function 和 non-pep695-generic-class 以了解执行此转换的规则。由于这些规则在转换后不会移除未使用的类型变量,你可能还需要考虑启用 unused-private-type-var 来完成向 PEP 695 泛型的过渡。