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 ``++@classmethod++`` or ``++@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 ---- class Utilities: def do_the_thing(self, arg1, arg2, ...): # Noncompliant #... ---- == Compliant Solution ---- class Utilities: @classmethod def do_the_thing(cls, arg1, arg2, ...): #... ---- or ---- class Utilities: @staticmethod def do_the_thing(arg1, arg2, ...): #... ---- == Exceptions Methods which raise or may raise a ``++NotImplementedError++`` are ignored. ifdef::env-github,rspecator-view[] == Comments And Links (visible only on this page) include::comments-and-links.adoc[] endif::env-github,rspecator-view[]