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.

Sommes<br />

>>> sum([1, 2.6, 2.4])<br />

6.0<br />

>>> sum([1, 2, 3])<br />

6<br />

>>> sum([1, 2, 3], 4)<br />

10<br />

>>> sum([], 4)<br />

4<br />

super : super(type, objet) -> objet super lié à l’objet<br />

Les primitives<br />

CHAPITRE 6<br />

Un type peut dériver d’un autre type. Ce dernier peut lui-même dériver d’un troisième<br />

type. Cet arbre de dérivation peut être parcouru pour un objet d’un type donné<br />

grâce à la primitive super(). On l’utilise le plus fréquemment lorsqu’une méthode est<br />

surchargée dans les descendants du type. On peut appeler la méthode du niveau qui<br />

nous intéresse par le biais de super() en spécifiant en premier paramètre le type de<br />

ce niveau.<br />

Polymorphisme de type<br />

>>> class MyClass(object):<br />

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

... return "Moi c'est la classe\n"<br />

...<br />

>>> class MyClass2(MyClass):<br />

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

... return "Moi aussi\n"<br />

...<br />

>>> class MyClass3(MyClass2):<br />

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

... title1 = super(MyClass2, self).title()<br />

... title2 = super(MyClass3, self).title()<br />

... my_title = "Jamais deux sans trois !"<br />

... return title1 + title2 + my_title<br />

...<br />

>>> test = MyClass3()<br />

>>> print(test.title())<br />

Moi c'est la classe<br />

Moi aussi<br />

Jamais deux sans trois !<br />

183

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

Saved successfully!

Ooh no, something went wrong!