Python - Types de données

Bienvenue, aspirants programmeurs !aujourd'hui, nous plongeons dans le monde fascinant des types de données Python. En tant que votre enseignant de sciences informatiques de quartier, je suis excité de vous guider à travers cet aspect essentiel de la programmation Python. Alors, prenez votre cahier virtuel et partons ensemble dans cette aventure !

Python - Data Types

Types de données en Python

En programmation, les types de données sont comme des conteneurs différents pour stocker diverses informations. Imaginez que vous organisez une fête et que vous avez besoin de différents types de conteneurs pour différents articles - assiettes pour la nourriture, verres pour les boissons et boîtes pour les cadeaux. De même, en Python, nous utilisons différents types de données pour stocker différents types de données.

Commençons par un exemple simple :

name = "Alice"
age = 25
height = 5.7
is_student = True

Dans cet extrait de code, nous avons utilisé quatre types de données différents :

  • name est une chaîne de caractères (texte)
  • age est un entier (nombre entier)
  • height est un flottant (nombre décimal)
  • is_student est un booléen (Vrai ou Faux)

Chaque variable contient un type de données différent, tout comme nous utilisons différents conteneurs pour différents articles lors de notre fête.

Types de types de données Python

Python offre plusieurs types de données intégrés. Explorons-les un par un :

1. Types numériques

a. Entier (int)

Les entiers sont des nombres entiers, positifs ou négatifs, sans décimales.

my_age = 30
temperature = -5

Ici, my_age et temperature sont des entiers. Vous pouvez effectuer diverses opérations mathématiques avec des entiers :

x = 10
y = 3
print(x + y)  # Addition : 13
print(x - y)  # Soustraction : 7
print(x * y)  # Multiplication : 30
print(x / y)  # Division : 3.3333... (Note : cela retourne en fait un flottant)
print(x // y) # Division entière : 3 (Arrondi au plus proche entier)
print(x % y)  # Modulo (reste) : 1
print(x ** y) # Exponentiation : 1000

b. Flottant

Les flottants sont des nombres avec des points décimaux.

pi = 3.14159
gravity = 9.81

Les flottants peuvent être utilisés dans les calculs comme les entiers :

radius = 5
area = pi * (radius ** 2)
print(f"Le domaine du cercle est {area:.2f}")  # Sortie : Le domaine du cercle est 78.54

c. Complexe

Les nombres complexes ont une partie réelle et une partie imaginaire, notée par 'j'.

z = 2 + 3j
print(z.real)  # Sortie : 2.0
print(z.imag)  # Sortie : 3.0

2. Types de séquences

a. Chaîne de caractères (str)

Les chaînes de caractères sont des séquences de caractères, entourées de guillemets simples ou doubles.

greeting = "Bonjour, le monde !"
name = 'Alice'
multi_line = """Ceci est une
multi-ligne
chaîne."""

Les chaînes de caractères ont de nombreuses méthodes utiles :

message = "Python est génial"
print(message.upper())  # Sortie : PYTHON EST GÉNIAL
print(message.split())  # Sortie : ['Python', 'est', 'génial']
print(len(message))     # Sortie : 20 (longueur de la chaîne)

b. Liste

Les listes sont des séquences ordonnées et modifiables, notées par des crochets.

fruits = ["pomme", "banane", "cerise"]
numbers = [1, 2, 3, 4, 5]
mixed = [1, "deux", 3.0, [4, 5]]

Les listes sont polyvalentes et permettent diverses opérations :

fruits.append("orange")  # Ajouter un élément
fruits.remove("banane")  # Supprimer un élément
print(fruits[0])         # Accès par index : pomme
print(fruits[-1])        # Dernier élément : orange
print(fruits[1:3])       # Découpage : ['cerise', 'orange']

c. Tuple

Les tuples sont des séquences ordonnées et immuables, notées par des parenthèses.

coordinates = (4, 5)
rgb = (255, 0, 128)

Les tuples sont similaires aux listes mais ne peuvent pas être modifiés après leur création :

print(coordinates[0])  # Accès par index : 4
# coordinates[0] = 6   # Cela soulèverait une erreur

3. Type de correspondance : Dictionnaire (dict)

Les dictionnaires stockent des paires clé-valeur, notés par des accolades.

person = {
"name": "Bob",
"age": 30,
"city": "New York"
}

Les dictionnaires sont extrêmement utiles pour les données structurées :

print(person["name"])   # Accès par clé : Bob
person["job"] = "Développeur"  # Ajouter une nouvelle paire clé-valeur
del person["age"]       # Supprimer une paire clé-valeur
print(person.keys())    # Obtenir toutes les clés
print(person.values())  # Obtenir toutes les valeurs

4. Types de sets

a. Set

Les ensembles sont des collections non ordonnées d'éléments uniques, notées par des accolades.

fruits = {"pomme", "banane", "cerise"}
numbers = {1, 2, 3, 4, 5}

Les ensembles sont géniaux pour supprimer les doublons et les opérations sur les ensembles :

fruits.add("orange")
fruits.remove("banane")
print("pomme" in fruits)  # Vérification de l'appartenance : True

set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1.union(set2))        # Union : {1, 2, 3, 4, 5}
print(set1.intersection(set2)) # Intersection : {3}

b. Frozenset

Les frozensets sont des ensembles immuables.

fs = frozenset([1, 2, 3])
# fs.add(4)  # Cela soulèverait une erreur

Conversion des types de données Python

Parfois, vous avez besoin de convertir des données d'un type à un autre. Python fournit des fonctions intégrées à cet effet :

# Chaîne de caractères en entier
age_str = "25"
age_int = int(age_str)
print(age_int + 5)  # Sortie : 30

# Entier en chaîne de caractères
number = 42
number_str = str(number)
print("La réponse est " + number_str)  # Sortie : La réponse est 42

# Chaîne de caractères en flottant
price_str = "19.99"
price_float = float(price_str)
print(price_float * 2)  # Sortie : 39.98

# Liste en ensemble (supprime les doublons)
numbers = [1, 2, 2, 3, 3, 4, 5]
unique_numbers = set(numbers)
print(unique_numbers)  # Sortie : {1, 2, 3, 4, 5}

Fonctions de conversion des types de données

Voici un tableau pratique des fonctions de conversion des types de données couramment utilisées :

Fonction Description Exemple
int(x) Convertit x en entier int("10")10
float(x) Convertit x en flottant float("3.14")3.14
str(x) Convertit x en chaîne de caractères str(42)"42"
list(x) Convertit x en liste list("bonjour")['b', 'o', 'n', 'j', 'o', 'u', 'r']
tuple(x) Convertit x en tuple tuple([1, 2, 3])(1, 2, 3)
set(x) Convertit x en ensemble set([1, 2, 2, 3]){1, 2, 3}
dict(x) Crée un dictionnaire. x doit être une séquence de paires clé-valeur dict([('a', 1), ('b', 2)]){'a': 1, 'b': 2}
bool(x) Convertit x en une valeur booléenne bool(1)True, bool(0)False

N'oubliez pas que ces fonctions ne changent pas la valeur originale ; elles créent une nouvelle valeur du type désiré.

Et voilà, chers étudiants ! Nous avons exploré la terre des types de données Python, des simples entiers aux dictionnaires complexes. Chaque type de données est un outil puissant dans votre boîte à outils de programmation, prêt à vous aider à résoudre divers problèmes.

À mesure que vous continuez votre aventure Python, vous utiliserez ces types de données quotidiennement. Ils sont les briques de vos programmes, les ingrédients de vos recettes de codage. Alors, jouez avec eux, expérimentez, et surtout, amusez-vous !

N'oubliez pas que, en programmation, comme dans la vie, ce n'est pas à propos de bien faire la première fois. C'est à propos d'apprendre, de grandir et de savourer le processus. Alors, n'ayez pas peur de faire des erreurs - elles sont juste des pierres d'achoppement sur votre chemin vers la maîtrise de Python !

Maintenant, allez-y et codez ! Et souvenez-vous toujours : en Python, comme dans la vie, le type compte ! ?✨

Credits: Image by storyset