Metadata

ID: python-best-practices/class-methods-use-self

Language: Python

Severity: Error

Category: Best Practices

Description

In a class method (that is not a class method nor a static method), the first argument must be self by convention.

Learn More

Non-Compliant Code Examples

class Foo:
    def bar(bar):  # use def bar(self) instead
        pass

Compliant Code Examples

class Foo:
    @staticmethod
    def static_method(bar):
        pass

    @classmethod
    def class_method(bar):
        pass

    def __call__(cls, *args, **kwargs):
        pass

class IFoo(Interface): # zope interfaces won't get flagged
    def method(i):
        pass
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Security

PREVIEWING: guillaume.barrier/ERRORT-5095-general-doc-update