Python: Surcharge: Difference between revisions

From Wiki Cours
Jump to navigation Jump to search
Line 26: Line 26:
| addition
| addition
| +
| +
| __add__
| __add__(self,other)
| +=
| +=
| __radd__
| __radd__(self,other)
|-{{ligne grise}}
|-{{ligne grise}}
| soustraction
| soustraction
| -
| -
| __sub__
| __sub__(self,other)
| -=
| -=
| __rsub__
| __rsub__(self,other)
|-----
|-----
| multiplication
| multiplication
| *
| *
| __mult__
| __mult__(self,other)
| *=
| *=
| __rmult__
| __rmult__(self,other)
|-{{ligne grise}}
|-{{ligne grise}}
| division
| division
| /
| /
| __truediv__
| __truediv__(self,other)
| /=
| /=
| __rtruediv__
| __rtruediv__(self,other)
|-----
|-----
| élévation à la puissance
| élévation à la puissance
| **
| **
| __pow__
| __pow__(self,other)
| **=
| **=
| __rpow__
| __rpow__(self,other)
|-----
|-----
| division entière
| division entière
| //
| //
| __floordiv__
| __floordiv__(self,other)
| //=
| //=
| __rfloordiv__
| __rfloordiv__(self,other)
|-{{ligne grise}}
|-{{ligne grise}}
| reste de la division entière (modulo)
| reste de la division entière (modulo)
| %
| %
| __mod__
| __mod__(self,other)
| %=
| %=
| __rmod__
| __rmod__(self,other)
|}
|}


Line 74: Line 74:
| opposé
| opposé
| -
| -
| __neg__
| __neg__(self)
|-{{ligne grise}}
|-{{ligne grise}}
| positif
| positif
| +
| +
| __pos__
| __pos__(self)
|-{{ligne grise}}
|-{{ligne grise}}
| valeur absolue
| valeur absolue

Revision as of 17:11, 1 September 2015

<--Sommaire

Méthodes utiles

utilisation nom
conversion en string pour print __str__(self)
affichage __repr__(self)

Opérations mathématiques

Définir ou redéfinir les opérateurs standards permet d'utiliser les symboles mathématiques pour de nouveaux objets:

opération symbole méthode symbole unaire méthode
addition + __add__(self,other) += __radd__(self,other)
soustraction - __sub__(self,other) -= __rsub__(self,other)
multiplication * __mult__(self,other) *= __rmult__(self,other)
division / __truediv__(self,other) /= __rtruediv__(self,other)
élévation à la puissance ** __pow__(self,other) **= __rpow__(self,other)
division entière // __floordiv__(self,other) //= __rfloordiv__(self,other)
reste de la division entière (modulo) % __mod__(self,other) %= __rmod__(self,other)
opération symbole méthode
opposé - __neg__(self)
positif + __pos__(self)
valeur absolue abs() __abs__(self)

Opérateurs de comparaison

opération symbole méthode
égal == __eq__(self,other)
non égal != ou <> __ne__(self,other)
strictement inférieur < __lt__(self,other)
strictement supérieur > __gt__(self,other)
inférieur ou égal <= __le__(self,other)
supérieur ou égal >= __ge__(self,other)
comparaison __cmp__(self,other)

Opérateurs de conteneurs

destinés à des objets pouvant être des conteneurs

opération symbolisation ou fonction méthode
dimension len(objet) __len__(self)
accès aux éléments en lecture objet[key] __getitem__(self,key)
accès aux éléments en écriture objet[key] __setitem__(self,key)