getter/setter must have 1 or 2 arguments respectively
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.
ID: python-best-practices/get-set-arguments
Language: Python
Severity: Warning
Category: Best Practices
Description
Ensure that getter and setter have the right number of parameters:
- getters must have exactly one parameter (the instance we are reading from)
- setters must have exactly two parameters (the instance we are updating and the associated value)
Learn More
Non-Compliant Code Examples
class Foo:
@property
def get_my_attribute(self, foo): # getter should have only one argument
return self.my_attribute
@attr.setter
def set_attr(self, v, bar): # setter should have only two arguments
self._attr = v
@attr.deleter
def del_attr(self, foo): # deleter should have only one argument
del self._attr
Compliant Code Examples
class Foo:
def get_my_attribute(self):
return self.my_attribute
def get_my_attribute(self, foo): # Not a property or attr, valid
return self.my_attribute
@property
def get_my_attribute(self):
return self.my_attribute
def set_my_attribute(self, v):
self.my_attribute = v
@attr.setter
def set_attr(self, v):
self._attr = v
@attr.deleter
def del_attr(self,):
return self._attr