signature-differs / W0222#

Message emitted:

Signature differs from %s %r method

Description:

Used when a method signature is different than in the implemented interface or in an overridden method.

Correct code:

class Animal:
    def run(self, distance=0):
        print(f"Ran {distance} km!")


class Dog(Animal):
    def run(self, distance=0):
        super(Animal, self).run(distance)
        print("Fetched that stick, wuff !")

Problematic code:

class Animal:
    def run(self, distance=0):
        print(f"Ran {distance} km!")


class Dog(Animal):
    def run(self, distance):  # [signature-differs]
        super(Animal, self).run(distance)
        print("Fetched that stick, wuff !")

Created by the classes checker.