Maîtriser les types de données Python : Guide pratique
Types de données Python
Ce guide vous explique les types de données de base en Python, illustrant comment ils fonctionnent et comment convertir entre eux.
Types de données en Python
Chaque valeur en Python est un objet, et chaque objet est une instance d'une classe qui définit son type. Comprendre ces types est essentiel pour écrire du code clair, efficace et fiable.
Ci-dessous, nous couvrons les types de données les plus fréquemment utilisés : nombres, listes, tuples, chaînes, ensembles et dictionnaires.
Nombres Python
Les types numériques de Python incluent int, float et complex. Utilisez type() pour inspecter la classe d'une valeur et isinstance() pour tester l'appartenance à une hiérarchie de classes.
a = 5
print(a, "est de type", type(a))
a = 2.0
print(a, "est de type", type(a))
a = 1+2j
print(a, "est un nombre complexe ?", isinstance(1+2j, complex))
Sortie
5 est de type <class 'int'> 2.0 est de type <class 'float'> (1+2j) est un nombre complexe ? True
Les entiers peuvent être arbitrairement grands, limités seulement par la mémoire disponible. Les nombres à virgule flottante sont précis jusqu'à environ 15 décimales ; par exemple, 1 est un entier tandis que 1.0 est un float.
Les nombres complexes suivent la forme x + yj, où x est la partie réelle et y la partie imaginaire. Exemples de valeurs :
>>> a = 1234567890123456789
>>> a
1234567890123456789
>>> b = 0.1234567890123456789
>>> b
0.12345678901234568
>>> c = 1+2j
>>> c
(1+2j)
Le float b a été tronqué pour s'adapter aux limites de précision.
Liste Python
Les listes sont des séquences ordonnées et mutables qui peuvent contenir des éléments de tout type. Déclarées avec des crochets, les éléments sont séparés par des virgules :
a = [1, 2.2, 'python']
Utilisez le tranchage (slicing) pour récupérer des sous-listes. Les indices commencent à zéro :
a = [5,10,15,20,25,30,35,40]
print("a[2] = ", a[2])
print("a[0:3] = ", a[0:3])
print("a[5:] = ", a[5:])
Sortie
a[2] = 15 a[0:3] = [5, 10, 15] a[5:] = [30, 35, 40]
Les listes sont mutables ; les éléments peuvent être réassignés :
a = [1, 2, 3]
a[2] = 4
print(a)
Sortie
[1, 2, 4]
Tuple Python
Les tuples sont ordonnés mais immuables. Ils sont souvent utilisés pour protéger des données et peuvent offrir de légers avantages de performance par rapport aux listes car leur taille ne peut pas changer. Définis avec des parenthèses :
t = (5,'program', 1+3j)
Le tranchage fonctionne, mais la réassignation lève une erreur :
t = (5,'program', 1+3j)
print("t[1] = ", t[1])
print("t[0:3] = ", t[0:3])
# t[0] = 10
# lèverait TypeError
Sortie
t[1] = program t[0:3] = (5, 'program', (1+3j))
Chaînes Python
Les chaînes sont des séquences immuables de caractères Unicode. Utilisez des guillemets simples ou doubles ; les guillemets triples permettent des littéraux multi-lignes.
s = "This is a string"
print(s)
s = '''A multiline string'''
print(s)
Sortie
This is a string A multiline string
Le tranchage fonctionne, mais tenter de modifier un caractère déclenche une erreur :
s = 'Hello world!'
print("s[4] = ", s[4])
print("s[6:11] = ", s[6:11])
# s[5] = 'd'
# lèverait TypeError
Sortie
s[4] = o s[6:11] = world
Ensemble Python
Un ensemble est une collection non ordonnée d'éléments uniques, définie avec des accolades. Les ensembles éliminent automatiquement les doublons et supportent les opérations d'ensemble comme l'union et l'intersection.
a = {5,2,3,1,4}
print("a = ", a)
print(type(a))
Sortie
a = {1, 2, 3, 4, 5}
<class 'set'>
Les doublons sont supprimés automatiquement :
a = {1,2,2,3,3,3}
print(a)
Sortie
{1, 2, 3}
Comme les ensembles sont non ordonnés, l'indexation et le tranchage ne sont pas supportés.
Dictionnaire Python
Les dictionnaires stockent des paires clé-valeur et sont hautement optimisés pour la recherche par clé. Les clés et valeurs peuvent être de tout type hachable.
d = {1:'value','key':2}
print(type(d))
print("d[1] = ", d[1])
print("d['key'] = ", d['key'])
# print("d[2] = ", d[2])
# lèverait KeyError
Sortie
<class 'dict'> d[1] = value d['key'] = 2
Conversion entre types de données
Python fournit des constructeurs intégrés pour la conversion de type : int(), float(), str(), et plus. La conversion d'un float en int tronque vers zéro.
float(5) # 5.0
int(10.6) # 10
int(-10.6) # -10
Les conversions de chaînes nécessitent des représentations compatibles :
float('2.5') # 2.5
str(25) # '25'
# int('1p') # ValueError
Les séquences peuvent être converties les unes en les autres :
set([1,2,3]) # {1, 2, 3}
tuple({5,6,7}) # (5, 6, 7)
list('hello') # ['h', 'e', 'l', 'l', 'o']
Pour créer un dictionnaire à partir d'un itérable de paires :
dict([[1,2],[3,4]]) # {1: 2, 3: 4}
dict([(3,26),(4,44)]) # {3: 26, 4: 44}
Python
- Maîtriser les variables C# et types de données primitifs : guide complet
- Comprendre les types de données C++ : Fondamentaux, modificateurs et bonnes pratiques
- Types de données en C expliqués : int, float, char et plus — Guide complet
- Maîtriser la conversion et le transtypage de types en Python : Guide complet
- Maîtriser les opérateurs Python : Guide complet
- Maîtriser l'instruction pass en Python : Guide pratique
- 5 Modèles de Centres de Données Expliqués : Conception, Cas d'Usage et Exemples
- Huit Modèles Clés de Cloud Computing en 2021
- 8 types courants de violations de données – Exemples réels et impact