.. _arguments-differ: arguments-differ / W0221 ======================== **Message emitted:** ``%s %s %r method`` **Description:** *Used when a method has a different number of arguments than in the implemented interface or in an overridden method. Extra arguments with default values are ignored.* **Problematic code:** .. literalinclude:: /data/messages/a/arguments-differ/bad.py :language: python **Correct code:** ``add_option_in_base_class.py``: .. literalinclude:: /data/messages/a/arguments-differ/good/add_option_in_base_class.py :language: python ``default_value.py``: .. literalinclude:: /data/messages/a/arguments-differ/good/default_value.py :language: python ``no_inheritance.py``: .. literalinclude:: /data/messages/a/arguments-differ/good/no_inheritance.py :language: python **Additional details:** ``argument-differ`` denotes an issue with the Liskov Substitution Principle. This means that the code in question violates an important design principle which does not have one single solution. We recommend to search online for the best solution in your case. To give some examples of potential solutions: * Add the argument to the parent class * Remove the inheritance completely * Add default arguments to the child class **Related links:** - `Liskov Substitution Principle `_ Created by the `classes `__ checker.