2.2. Types

À faire

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.

2.2.1. Booléen

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

In [1]: type(True)
Out[1]: bool

In [2]: type(False)
Out[2]: bool

2.2.2. 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.

In [3]: type(12)
Out[3]: int

In [4]: type(-34)
Out[4]: int

2.2.3. 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}\).

In [5]: type(1.23)
Out[5]: float

In [6]: type(1.)
Out[6]: float

In [7]: type(1.23e45)
Out[7]: float

Les nombres flottants sont en fait de la forme \(\pm m.2^e\)\(m\) 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.

In [8]: 2.3-1.5
Out[8]: 0.7999999999999998

2.2.4. 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.

In [9]: type(1.2+3.4j)
Out[9]: complex

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.

In [10]: z = 3 + 4j

In [11]: z.real
Out[11]: 3.0

In [12]: z.imag
Out[12]: 4.0

2.2.5. Dictionnaire (hors programme)

In [13]: type({'toto': 123, 'titi': 4.56, 'tata': 'abc'})
Out[13]: dict

Notes

À faire

duck typing