ensure special methods have the correct arguments

Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel, n'hésitez pas à nous contacter.

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