Principaux types de données

Python est un language à typage dynamique, ce qui signifie qu’il n’est pas nécessaire de déclarer les variables avant de pouvoir leur affecter une valeur. La valeur que l’on affecte possède un type qui dépend de la nature des données (nombre entier, nombre à virgule, chaîne de caractères, etc). Le type du contenu d’une variable peut donc changer si on change sa valeur.

La fonction type()

Pour connaître le type d’une donnée ou le type de la valeur d’une variable, il suffit d’utiliser la fonction type().

Exemples :

>>> type(15)
int
>>> a = 15
>>> type(a)
int
>>> a = "toto"
>>> type(a)
str

Le type int

Ce type est utilisé pour stocker un entier, en anglais integer. Pour cette raison, on appelle ce type int.

>>> type(128)
int

Le type float

Ce type est utilisé pour stocker des nombres à virgule flottante, désignés en anglais par l’expression floating point numbers. Pour cette raison, on appelle ce type : float.

Exemples :

>>> a = 14.5
>>> type(a)
float
>>> a = 11.
>>> type(a)
float
>>> a
11.0
>>> a = 3.25e7
>>> type(a)
float
>>> a
3.25e+7

Le type string (chaîne de caractères)

Sous Python, une donnée de type string est une suite quelconque de caractères délimitée soit par des apostrophes (simple quotes), soit par des guillemets (double quotes).

>>> a = 'Bonjour'
>>> type(a)
str
>>> b = "Bonsoir"
>>> type(b)
str

Le type list

Sous Python, on peut définir une liste comme une collection d’éléments séparés par des virgules, l’ensemble étant enfermé dans des crochets.

Exemple :

>>> jour = ["lundi", "mardi", "mercredi", 1800, 20.357, "jeudi", "vendredi"]
>>> type(jour)
list
>>> jour
['lundi', 'mardi', 'mercredi', 1800, 20.356999999999999, 'jeudi', 'vendredi']

Le type complex

Python posséde par défaut un type pour manipuler les nombres complexes. La partie imaginaire est indiquée grâce à la lettre « j » ou « J ». La lettre mathématique utilisée habituellement, le « i », n’est pas utilisée en Python car la variable i est souvent utilisée dans les boucles.

Exemples :

>>> a = 2 + 3j
>>> type(a)
complex
>>> a
(2+3j)
>>> b = 1 + j
Traceback (most recent call last):
   File "<pyshell#21>", line 1, in <module>
     b = 1 + j
NameError: name 'j' is not defined
>>> b = 1 + 1j
>>> a * b
(-1+5j)
>>> 1j**2
(-1+0j)