CodeQL 文档

已弃用的切片方法

ID: py/deprecated-slice-method
Kind: problem
Security severity: 
Severity: warning
Precision: very-high
Tags:
   - maintainability
Query suites:
   - python-security-and-quality.qls

单击查看 CodeQL 仓库中的查询

自 Python 2.0 起,__getslice____setslice____delslice__ 方法已弃用。一般来说,任何类都不应实现这些方法。

此规则的唯一例外是继承自 list 并覆盖 __getitem____setitem____delitem__ 的类。由于 list 实现切片方法,因此任何继承自 list 的类都必须实现切片方法,以确保 __getitem____setitem____delitem__ 的正确行为。这些规则的例外情况不会被视为违规。

建议

删除切片方法。任何功能应移至等效的 __xxxitem__ 方法

  • __getslice__ 应替换为 __getitem__

  • __setslice__ 应替换为 __setitem__

  • __delslice__ 应替换为 __delitem__

参考

  • ©GitHub, Inc.
  • 条款
  • 隐私