ensure special methods have the correct arguments

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Metadata

ID: python-best-practices/special-methods-arguments

Language: Python

Severity: Error

Category: Best Practices

Description

For all special methods for a class (__add__, __sub__, and more) make sure the method has the correct number of arguments.

Non-Compliant Code Examples

class GFG:
  
    def __init__(self, val):
        self.val = val
          
    def __next__(self, val2, val3): # invalid, we should have only one argument.
        return GFG(self.val + val2.val)
class GFG:
  
    def __init__(self, val):
        self.val = val
          
    def __add__(self, val2, val3): # we should have only two arguments.
        return GFG(self.val + val2.val)

Compliant Code Examples

class GFG:
  
    def __init__(self, val):
        self.val = val
          
    def __add__(self, val2):
        return GFG(self.val + val2.val)
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 Analysis