PythonMasterClass

Méthodes

Méthodes : fonctions des objets

Une méthode c'est un fonction qui agit sur un objet, vous pouvez voir un exemple ci-dessous

class Position: def __init__(self, x, y): self.x = x self.y = y def move(self, x=0, y=0): self.x += x self.y += y pos = Position(10, 5) print(pos.x, pos.y) # 10 5 pos.move(5, 2) print(pos.x, pos.y) # 15 7 Position.move(pos, -5, -2) # pas approprié print(pos.x, pos.y) # 10 5

Comme vous pouvez le voir move et une fonction qui prend en paramètre self, x, y et ajoute x à self.x et y à self.y. Il y a deux façons de le faire la première est la façon normale et la deuxième la manière explicite expliquant l'utilisation du mot-clé self.

De plus comme vous avez pu le constater précédemment, __init__ est aussi une méthode spécial marquée par la présence de __ au début et fin. Comme autre méthode spécial on peut aussi compter __new__ généralement utilisé pour l'héritage des types natifs. ces méthodes sont nommé Modèle de données, elles permettent entre autres de tester l'égaliter, l'affichage, l'iteration, l'appartenance ...

class Position: def __init__(self, x, y): self.x = x self.y = y def __eq__(self, other): return isinstance(other, Position) and self.x==other.x and self.y==self.y def __str__(self): return f"Position(x={self.x}, y={self.y})" def __add__(self, other): return Position(self.x+self.x, self.y+other.y) pos1 = Position(10, 5) pos2 = Position(9, 8) print(pos1) # appel à __str__, out : Position(x=10, y=5) print(pos1==pos2) # appel à __eq__, out : False print(pos1+pos2) # appel à __add__, out : Position(x=20, y=13)

Ce Cours est désormait finit !

Après toute ces péripéthies, notre chemin sépare ici.
N'oubliez jamais la bible qu'est la documentation officiel de python.
Le site Stackoverflow est aussi un merveilleux endroit pour trouver les réponses à vos questions ou erreurs.