← 返回首页
Deprecated slice method — CodeQL query help documentation CodeQL docs
CodeQL documentation
CodeQL resources

Deprecated slice method

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

Click to see the query in the CodeQL repository

The __getslice__, __setslice__ and __delslice__ methods have been deprecated since Python 2.0. In general, no class should implement these methods.

The only exceptions to this rule are classes that inherit from list and override __getitem__, __setitem__ or __delitem__. Since list implements the slicing methods any class inheriting from list must implement the the slicing methods to ensure correct behavior of __getitem__, __setitem__ and __delitem__. These exceptions to the rule will not be treated as violations.

Recommendation

Delete the slicing method. Any functionality should be moved to the equivalent __xxxitem__ method:

References