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\) où \(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