Skip to content

Instance Method First Parameter Should Be self

Sourcery refactoring id: instance-method-first-arg-name

Description:

Suggests that instance methods should rename their first parameter to self.

Before:

class Chicken:
    def lay_egg(this, coop):
        with this.enter_coop(coop):
            coop.eggs.add(Egg(this.dna))

After:

class Chicken:
    def lay_egg(self, coop):
        with self.enter_coop(coop):
            coop.eggs.add(Egg(self.dna))

Explanation:

This is both a very strong convention in Python and an explicit entry in PEP-8. Adhering to it improves code consistency and makes it easier for developers to understand the intention of your code.

See also: class-method-first-arg-name