Back to Intellij Community

PyDecoratorInspection

python/python-psi-impl/resources/inspectionDescriptions/PyDecoratorInspection.html

2025.3-rc-2580 B
Original Source

Reports usages of @classmethod or @staticmethod decorators in methods outside a class.

Example:

class State(object):

    @classmethod
    def my_state(cls, name):
        cls.name = name

@classmethod
def change_state(self):
    pass

The change_state method should not use the @classmethod decorator or it should be moved to the State class declaration.

If you apply the Remove decorator action, the code changes to:

class State(object):

    @classmethod
    def my_state(cls, name):
        cls.name = name

def change_state(self):
    pass