Class methods should use self as first argument

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/class-methods-use-self

Language: Python

Severity: Error

Category: Best Practices

Description

In a class method (that is not a class method nor a static method), the first argument must be self by convention.

Learn More

Non-Compliant Code Examples

class Foo:
	def bar(bar):  # use def bar(self) instead
		pass

Compliant Code Examples

class Foo:
	@staticmethod
	def static_method(bar):
		pass

	@classmethod
	def class_method(bar):
		pass

	def __call__(cls, *args, **kwargs):
		pass
	
class IFoo(Interface): # zope interfaces won't get flagged
	def method(i):
		pass
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