Class methods that don’t access instance data can and should be static because they yield more performant code.
To implement a static method in Python one should use either
@staticmethod. A class method receives the
class as implicit first argument, just like an instance method receives the instance. A static method does not receive an implicit first argument.
Noncompliant Code Example
def do_the_thing(self, arg1, arg2, ...): # Noncompliant
def do_the_thing(cls, arg1, arg2, ...):
def do_the_thing(arg1, arg2, ...):
Methods which raise or may raise a
NotImplementedError are ignored.