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.

64<br />

Éléments du langage<br />

DEUXIÈME PARTIE<br />

Ellipsis<br />

Ellipsis est utilisé par la notation étendue des tranches, vues à la fin de ce chapitre,<br />

et par les doctests (voir le chapitre 12, sur la programmation dirigée par les tests).<br />

Les nombres<br />

File "", line 5, in get_data<br />

NotImplementedError: A surcharger<br />

>>> class ConcreteData(AbstractData):<br />

... def __init__(self, data):<br />

... self.data = data<br />

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

... return self.data<br />

...<br />

>>> d = ConcreteData('xxx')<br />

>>> d.print_data()<br />

xxx<br />

ABSTRACTION Module abc<br />

Le module abc, introduit dans Python 2.6 et présenté au chapitre 10, offre une nouvelle technique de<br />

description de classes abstraites, comparable aux interfaces.<br />

Les nombres sont des objets immuables représentés par les littéraux numériques.<br />

On retrouve donc les trois types, soit :<br />

les nombres entiers ;<br />

les nombres à virgule flottante ;<br />

les nombres complexes.<br />

Enfin, un type supplémentaire complète les nombres à virgule flottante : les décimaux.<br />

Les nombres entiers<br />

Le type int<br />

Les nombres entiers sont codés par le biais du complément à deux sur 32 bits ou plus.<br />

Le principe de ce codage est de représenter les entiers relatifs sur n-1 bits en différenciant<br />

les entiers relatifs positifs ou nuls des entiers relatifs négatifs par le dernier bit : 0<br />

pour les positifs et 1 pour les négatifs. Une valeur négative est obtenue en prenant son<br />

opposée positive et en inversant chaque bit de sa représentation, puis en ajoutant 1.<br />

Cette technique permet de rendre directes certaines opérations de bas niveau sur les<br />

nombres, comme les masquages ou décalages de bits.

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

Saved successfully!

Ooh no, something went wrong!