First parameter of a class method is not named ‘cls’¶
ID: py/not-named-cls
Kind: problem
Security severity:
Severity: recommendation
Precision: high
Tags:
- maintainability
- readability
- convention
Query suites:
- python-security-and-quality.qls
Click to see the query in the CodeQL repository
The first parameter of a class method (including certain special methods such as __new__
), or a method of a metaclass, should be named cls
.
Recommendation¶
Ensure that the first parameter of class methods is named cls
, as recommended by the style guidelines in PEP 8.
Example¶
In the following example, the first parameter of the class method make
is named self
instead of cls
.
class Entry(object):
@classmethod
def make(self):
return Entry()
References¶
Python PEP 8: Function and method arguments.
Python Tutorial: Classes.
Python Docs: classmethod.