17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Marquage simple d’attributs<br />

>>> class Car:<br />

... _defaults = ['bruyante']<br />

... qualities = ['rapide', 'economique']<br />

...<br />

Méthodes spéciales<br />

Structuration du code<br />

CHAPITRE 5<br />

Il est possible en Python de définir d’autres méthodes spéciales que __init__() et<br />

__del__(), qui déterminent un fonctionnement spécifique pour une classe lorsqu’elle<br />

est utilisée dans certaines opérations.<br />

Ces méthodes permettent de faire varier le comportement des objets et sont regroupées<br />

en fonction des cas d’utilisation :<br />

représentation et comparaison de l’objet ;<br />

utilisation de l’objet comme fonction ;<br />

accès aux attributs de l’objet ;<br />

utilisation de l’objet comme conteneur ;<br />

utilisation de l’objet comme type numérique.<br />

Représentation et comparaison de l’objet<br />

__str__()<br />

Appelée par la primitive str(). Doit renvoyer une représentation sous forme de<br />

chaîne de caractères d’un objet. Cette représentation peut être un transtypage de<br />

l’objet en objet string lorsque c’est possible ou une représentation plus informelle.<br />

Str()<br />

>> class A:<br />

... def __str__(self):<br />

... return 'je suis un objet de type A'<br />

...<br />

>>> a = A()<br />

>>> str(a)<br />

'je suis un objet de type A'<br />

__repr__()<br />

Appelée par la primitive repr(). Similaire à __str__() sauf que la représentation<br />

doit être une expression Python telle que eval(repr(a)) == a lorsque c’est possible.<br />

119

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!