Skip to content

Latest commit

 

History

History
91 lines (47 loc) · 2.33 KB

types.rst

File metadata and controls

91 lines (47 loc) · 2.33 KB

Types

.. todo:: Expliquer ce qu'est un type. En fait, on devrait parler de classe.

On décrit dans ce paragraphe les types de base utilisés par Python.

Booléen

Un objet de type booléen peut prendre les valeurs logiques vrai (True) ou faux (False).

.. ipython:: python

    type(True)
    type(False)


Entier

Les entiers Python ne sont théoriquement pas limités en taille même si, en pratique, on est limité par la mémoire de la machine.

.. ipython:: python

    type(12)
    type(-34)

Flottant

Les nombres non entiers (nombres "à virgule") sont stockés sous la forme de nombres flottants. La virgule est notée à l'anglo-saxonne à l'aide du caractère .. On peut également utiliser la notation scientifique : 1.23e45 signifie 1,23\times10^{45}.

.. ipython:: python

    type(1.23)
    type(1.)
    type(1.23e45)


Les nombres flottants sont en fait de la forme \pm m.2^em est un réel de l'intervalle [1,2[ appelé mantisse et e est un entier. Les nombres m et e sont stockés sur un nombre fixé de bits [1] : il n'existe par conséquent qu'un nombre fini de nombres flottants.

Il faut bien comprendre que les nombres flottants ne sont en fait que des approximations des nombres réels que l'on considère, ce qui peut parfois créer des surprises.

.. ipython:: python

    2.3-1.5


Complexe

Les nombres complexes se notent à l'aide de la lettre j qui indique la partie imaginaire. Par exemple, le complexe 1+2i s'écrit 1+2j.

.. ipython:: python

    type(1.2+3.4j)

Note

Pour représenter un complexe la lettre j doit toujours être précédée d'un caractère numérique. Le complexe i sera donc représenté par 1j.

On peut accéder aux parties réelle et imaginaire d'un nombre complexe grâce aux attributs real et imag.

.. ipython:: python

    z = 3 + 4j
    z.real
    z.imag

Dictionnaire (hors programme)

.. ipython:: python

    type({'toto': 123, 'titi': 4.56, 'tata': 'abc'})


Notes

[1]Pour plus de précision, on pourra consulter la définition de la norme IEEE 754.
.. todo:: duck typing