Tutoriel Python - Variables et types de données

Jinku Hu 30 janvier 2023
  1. Variable Python
  2. Type de données Python
Tutoriel Python - Variables et types de données

Dans cette section, vous apprendrez les variables et les types de données en programmation Python.

Variable Python

Une variable est un emplacement mémoire qui a un nom et une valeur (certaines données).

Les variables ont des noms uniques afin de pouvoir différencier les emplacements de mémoire. Elles ont les mêmes règles de nommage à suivre que celles des identificateurs. Vérifiez les règles de nommage des identifiants.

En Python, il n’est pas nécessaire de déclarer une variable (en spécifiant le type de données) avant d’utiliser cette variable. Si vous voulez créer une variable, il suffit d’écrire un nom valide pour la variable et de lui attribuer une valeur en utilisant l’opérateur d’affectation. Le type de données de la variable sera défini en interne selon le type de valeur que vous lui affectez.

Affectation de la variable

Un opérateur d’affectation = est utilisé pour affecter une valeur à une variable. Vous pouvez affecter n’importe quel type de valeur à une variable. Le type de données de la variable sera défini en interne.

Le code suivant montre comment un opérateur d’affectation peut être utilisé pour affecter des valeurs de différents types de données:

x = 3
y = 4.124
z = "Python"

Ici vous avez les variables int, float et string.

Affectations multiples

Vous pouvez également affecter des valeurs à plusieurs variables dans une seule instruction Python. C’est ce qu’on appelle les affectations multiples. Considérez le code ci-dessous:

x, y, z = 2, 4.124, "Python"

Ici, 2 est assigné à x, 4.124 est assigné à y et la chaîne Python est assignée à z.

Si vous voulez assigner la même valeur à différentes variables, vous pouvez écrire:

x = y = z = "Blue"

Maintenant, les trois variables sont égales.

Attention
Ce n’est pas une bonne pratique d’assigner une liste à deux variables comme ci-dessus. Les deux/toutes pointent vers le même emplacement mémoire, donc si la valeur est modifiée par une variable, toutes les autres sont également modifiées de manière imperceptible. Vous pourriez rencontrer un comportement étrange si vous n’êtes pas conscient de cela.

Type de données Python

Chaque fois que vous affectez une valeur à une variable, le type de données de la variable est également spécifié. Python est une programmation orientée objet, et tout en Python est un objet parce que Python n’a pas de types primitifs ou non encadrés.

En Python, les types de données des variables sont en fait des classes dont les variables sont les instances (objets).

Voici quelques exemples de types de données en Python:

Numéros

Les nombres tels que les entiers, les nombres à virgule flottante et les nombres complexes sont des nombres Python. En Python, les nombres entiers sont représentés par int, les nombres à virgule flottante par float et les nombres complexes par la classe complex.

La fonction intégrée type() peut être utilisée pour vérifier le type de données d’une variable ou à quelle classe appartient une variable.

La fonction isinstance() est utilisée pour vérifier si l’objet est une instance de la classe spécifique ou une sous-classe de celle-ci. Son premier argument est l’objet lui-même et le second est le type de données avec lequel il doit être comparé.

x = 3
print("type of", x, "is", type(x))
x = 3.23
print("type of", x, "is", type(x))
x = 3 + 3j
print("is", x, "a complex number:", isinstance(x, complex))
type of 3 is <class 'int'>
type of 3.23 is <class 'float'>
is (3+3j) a complex number: True

Liste

Une liste est une séquence ordonnée d’éléments de (différents) types de données. Une liste peut être créée en Python en utilisant des crochets [] et à l’intérieur des crochets, vous avez des éléments de liste qui sont séparés par des virgules.

x = [2, 4.5, "blue"]

Pour accéder au membre de la liste, vous pouvez utiliser l’opérateur d’accès à l’index qui, en Python, est connu sous le nom d’opérateur de découpage []. L’indexation des éléments de la liste commence à partir de 0. Considérons l’exemple ci-dessous:

x = [2, 4, 6, 8, 10]
print("x[0] =", x[0])  # displays the first element
print(
    "x[0:2] =", x[0:2]
)  # displays first two elements of list that is at location 0 and 1
print("x[2:] =", x[2:])  # displays elements from location 2 (third element)
x[0] = 2
x[0:2] = [2, 4]
x[2:] = [6, 8, 10]

Les éléments de la liste Python peuvent être modifiés (mis à jour, supprimés, ajoutés). En d’autres termes, la liste Python est mutable.

Note
Les listes sont modifiables.

Tuple

Tuple est aussi une liste ordonnée d’articles identique à la liste. La seule différence entre un tuple et une liste est que l’élément tuple est immuable.

Vous pouvez définir un tuple Python en utilisant des parenthèses et les éléments sont séparés par des virgules:

x = (3, "pink", 3 + 8j)
print("x[0] =", x[0])
print("x[0:2] =", x[0:2])
x[0] = 4  # Error because tuples are immutable
x[0] = 3
x[0:2] = (3, 'pink')
TypeError: 'tuple' object does not support item assignment
Note
Les tuples sont immuables.

Chaîne

Une chaîne est une séquence de caractères. Une chaîne de caractères peut être créée à l’aide de guillemets simples ou doubles. Une chaîne de caractères multiligne peut également être créée en utilisant des guillemets triples.

x = "String of characters"
x = """Multiline
string"""

Pour accéder aux caractères de la chaîne, l’opérateur de découpage est utilisé.

x = "Python Programming"
print("x[0] =", x[0])
print("x[4:15] =", x[4:15])
x[4] = "l"  # Error because strings are immutable
x[0] = P
x[4:15] = on Programm
TypeError: 'str' object does not support item assignment
Note
Les chaînes de caractères sont également immuables.

Réglez

Set contient des éléments uniques et est une liste non ordonnée d’éléments. Un ensemble en Python peut être créé en utilisant des accolades {} et les éléments sont séparés par des virgules.

x = {3, 5, 7, 2, 4, 5}
print(x)  # prints the set variable
print(type(x))  # checking type of x
{2, 3, 4, 5, 7}
<class 'set'>
Note
Les ensembles sont mutables.

Dictionnaire

Dictionary est un type de données natif Python dont les éléments sont des paires clé-valeur. Un dictionnaire contient des éléments non ordonnés. Une donnée ou une valeur du dictionnaire peut être récupérée si vous connaissez la clé.

Un dictionnaire peut être créé en utilisant des accolades {}, chaque élément devant être une paire contenant la clé et la valeur.

Les clés et les valeurs dans le dictionnaire Python peuvent être de n’importe quel type.

Considérez l’exemple ci-dessous:

x = {1: "blue", "key": "pink"}
print(type(x))
print("x[1] = ", x[1])  # using key to retrive value
print("x['key'] =", x["key"])  # using key to retrive value
<class 'dict'>
x[1] =  blue
x['key'] = pink
Note :
Le dictionnaire est mutable.

Conversion des types

Les variables Python peuvent être converties en d’autres types, par exemple, vous pouvez convertir un type de données int en un type de données float. Pour la conversion de type, vous pouvez utiliser des fonctions de conversion comme int(), float(), str(), etc.

x = 8
print("Value of x = ", int(x))
print("Value of x = ", float(x))
Value of x =  8
Value of x =  8.0

Si vous voulez convertir une valeur float en valeur int alors la partie décimale sera tronquée.

y = 3.4
print("Converting float to int:", int(y))
Converting float to int: 3

Si vous voulez convertir un type de données string en un autre type, vous devez fournir des valeurs compatibles, sinon vous obtiendrez une ValueError:

print("Converting string to float:", float("33.9"))
print("Converting string to float:", float("text"))
Converting string to float: 33.9
Traceback (most recent call last):
  File "<pyshell#12>", line 1, in <module>
    float('a')
ValueError: could not convert string to float: text

Vous pouvez convertir une séquence en une autre, par exemple, set en tuple ou une string en list et ainsi de suite en utilisant des fonctions comme list(), set(), tuple(), etc.

print(set([4, 5, 6]))
print(tuple({8, 9, 10}))
print(list("Python"))
{4, 5, 6}
(8, 9, 10)
["P", "y", "t", "h", "o", "n"]
Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook