Manipuler divers objets intégrés de Python

PythonPythonBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à manipuler différents objets intégrés (built-in) de Python. Python propose une gamme de types de données intégrés tels que les nombres, les chaînes de caractères (strings), les listes et les dictionnaires. Maîtriser ces objets est essentiel pour tout programmeur Python.

De plus, grâce à des exercices pratiques, vous allez pratiquer les opérations essentielles de Python et apprendre à travailler efficacement avec les nombres, les chaînes de caractères, les listes et les dictionnaires en Python.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/BasicConceptsGroup -.-> python/numeric_types("Numeric Types") python/BasicConceptsGroup -.-> python/strings("Strings") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/dictionaries("Dictionaries") python/ModulesandPackagesGroup -.-> python/standard_libraries("Common Standard Libraries") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/numeric_types -.-> lab-132391{{"Manipuler divers objets intégrés de Python"}} python/strings -.-> lab-132391{{"Manipuler divers objets intégrés de Python"}} python/for_loops -.-> lab-132391{{"Manipuler divers objets intégrés de Python"}} python/lists -.-> lab-132391{{"Manipuler divers objets intégrés de Python"}} python/dictionaries -.-> lab-132391{{"Manipuler divers objets intégrés de Python"}} python/standard_libraries -.-> lab-132391{{"Manipuler divers objets intégrés de Python"}} python/data_collections -.-> lab-132391{{"Manipuler divers objets intégrés de Python"}} end

Travailler avec les nombres en Python

Python offre un support robuste pour les opérations numériques. En programmation, les nombres sont des types de données fondamentaux utilisés pour les calculs et la représentation de quantités. Cette étape vous présentera la manipulation de base des nombres en Python, ce qui est essentiel pour effectuer diverses opérations mathématiques dans vos programmes.

Opérations arithmétiques de base

Pour commencer à travailler avec les nombres en Python, vous devez d'abord ouvrir un shell interactif Python. Vous pouvez le faire en tapant python3 dans votre terminal. Le shell interactif Python vous permet d'écrire et d'exécuter du code Python ligne par ligne, ce qui est idéal pour tester et apprendre.

python3

Une fois que vous êtes dans le shell interactif Python, vous pouvez essayer quelques opérations arithmétiques de base. Python suit les règles mathématiques standard pour l'arithmétique, telles que l'ordre des opérations (PEMDAS : Parentheses, Exponents, Multiplication et Division, Addition et Soustraction).

>>> 3 + 4*5    ## La multiplication a une priorité supérieure à l'addition, donc 4*5 est calculé en premier, puis ajouté à 3
23
>>> 23.45 / 1e-02    ## La notation scientifique pour 0.01 est utilisée ici. La division est effectuée pour obtenir le résultat
2345.0

Division entière

Python 3 gère la division différemment de Python 2. Comprendre ces différences est crucial pour éviter des résultats inattendus dans votre code.

>>> 7 / 4    ## En Python 3, la division normale retourne un nombre à virgule flottante (float), même si le résultat pourrait être un entier
1.75
>>> 7 // 4   ## La division entière (troncature de la partie décimale) vous donne le quotient sous forme d'entier
1

Méthodes des nombres

Les nombres en Python ont plusieurs méthodes utiles qui sont souvent négligées. Ces méthodes peuvent simplifier les opérations numériques complexes et les conversions. Explorons-en quelques-unes :

>>> x = 1172.5
>>> x.as_integer_ratio()    ## Cette méthode représente le nombre à virgule flottante sous forme de fraction, ce qui peut être utile pour certains calculs mathématiques
(2345, 2)
>>> x.is_integer()    ## Vérifie si le nombre à virgule flottante est une valeur entière. Dans ce cas, 1172.5 n'est pas un entier, donc elle retourne False
False

>>> y = 12345
>>> y.numerator    ## Pour les entiers, le numérateur est le nombre lui-même
12345
>>> y.denominator    ## Pour les entiers, le dénominateur est toujours 1
1
>>> y.bit_length()    ## Cette méthode vous indique le nombre de bits nécessaires pour représenter le nombre en binaire, ce qui peut être utile dans les opérations au niveau des bits
14

Ces méthodes sont particulièrement utiles lorsque vous devez effectuer des opérations numériques spécifiques ou des conversions. Elles peuvent vous faire gagner du temps et rendre votre code plus efficace.

Lorsque vous avez terminé d'explorer le shell interactif Python, vous pouvez le quitter en tapant :

>>> exit()

Travailler avec les chaînes de caractères (strings) en Python

Les chaînes de caractères sont l'un des types de données les plus couramment utilisés en Python. Elles servent à représenter du texte et peuvent contenir des lettres, des nombres et des symboles. Dans cette étape, nous allons explorer diverses opérations sur les chaînes de caractères, qui sont des compétences essentielles pour travailler avec des données textuelles en Python.

Création et définition de chaînes de caractères

Pour commencer à travailler avec les chaînes de caractères en Python, nous devons d'abord ouvrir un shell interactif Python. Ce shell nous permet d'écrire et d'exécuter du code Python ligne par ligne, ce qui est idéal pour apprendre et tester. Ouvrez un shell interactif Python à nouveau en utilisant la commande suivante :

python3

Une fois le shell ouvert, nous pouvons définir une chaîne de caractères. Dans cet exemple, nous allons créer une chaîne de caractères qui contient des symboles de titres boursiers. Une chaîne de caractères en Python peut être définie en entourant le texte de guillemets simples (') ou de guillemets doubles ("). Voici comment nous définissons notre chaîne de caractères :

>>> symbols = 'AAPL IBM MSFT YHOO SCO'
>>> symbols
'AAPL IBM MSFT YHOO SCO'

Nous avons maintenant créé une variable de type chaîne de caractères nommée symbols et lui avons assigné une valeur. Lorsque nous tapons le nom de la variable et appuyons sur Entrée, Python affiche la valeur de la chaîne de caractères.

Accès aux caractères et aux sous-chaînes

En Python, les chaînes de caractères peuvent être indexées pour accéder à des caractères individuels. L'indexation commence à 0, ce qui signifie que le premier caractère d'une chaîne de caractères a un index de 0, le deuxième a un index de 1, et ainsi de suite. L'indexation négative est également prise en charge, où -1 fait référence au dernier caractère, -2 au avant-dernier caractère, et ainsi de suite.

Voyons comment nous pouvons accéder à des caractères individuels dans notre chaîne de caractères symbols :

>>> symbols[0]    ## Premier caractère
'A'
>>> symbols[1]    ## Deuxième caractère
'A'
>>> symbols[2]    ## Troisième caractère
'P'
>>> symbols[-1]   ## Dernier caractère
'O'
>>> symbols[-2]   ## Avant-dernier caractère
'C'

Nous pouvons également extraire des sous-chaînes en utilisant le découpage (slicing). Le découpage nous permet d'obtenir une partie de la chaîne de caractères en spécifiant un index de départ et un index de fin. La syntaxe pour le découpage est string[start:end], où la sous-chaîne inclut les caractères de l'index de départ jusqu'à (mais sans inclure) l'index de fin.

>>> symbols[:4]    ## Les 4 premiers caractères
'AAPL'
>>> symbols[-3:]   ## Les 3 derniers caractères
'SCO'
>>> symbols[5:8]   ## Les caractères de l'index 5 à 7
'IBM'

Immutabilité des chaînes de caractères

Les chaînes de caractères en Python sont immuables, ce qui signifie qu'une fois qu'une chaîne de caractères est créée, vous ne pouvez pas modifier ses caractères individuels. Si vous essayez de modifier un caractère dans une chaîne de caractères, Python lèvera une erreur.

Essayons de changer le premier caractère de notre chaîne de caractères symbols :

>>> symbols[0] = 'a'    ## Cela causera une erreur

Vous devriez voir une erreur comme celle-ci :

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment

Cette erreur indique que nous ne pouvons pas assigner une nouvelle valeur à un caractère individuel dans une chaîne de caractères car les chaînes de caractères sont immuables.

Concaténation de chaînes de caractères

Bien que nous ne puissions pas modifier directement les chaînes de caractères, nous pouvons créer de nouvelles chaînes de caractères par concaténation. La concaténation consiste à joindre deux ou plusieurs chaînes de caractères ensemble. En Python, nous pouvons utiliser l'opérateur + pour concaténer des chaînes de caractères.

>>> symbols += ' GOOG'    ## Ajouter un nouveau symbole
>>> symbols
'AAPL IBM MSFT YHOO SCO GOOG'

>>> symbols = 'HPQ ' + symbols    ## Ajouter un nouveau symbole au début
>>> symbols
'HPQ AAPL IBM MSFT YHOO SCO GOOG'

Il est important de se rappeler que ces opérations créent de nouvelles chaînes de caractères plutôt que de modifier la chaîne de caractères originale. La chaîne de caractères originale reste inchangée, et une nouvelle chaîne de caractères est créée avec la valeur combinée.

Vérification de l'existence de sous-chaînes

Pour vérifier si une sous-chaîne existe dans une chaîne de caractères, nous pouvons utiliser l'opérateur in. L'opérateur in retourne True si la sous-chaîne est trouvée dans la chaîne de caractères et False sinon.

>>> 'IBM' in symbols
True
>>> 'AA' in symbols
True
>>> 'CAT' in symbols
False

Notez que 'AA' retourne True car il est trouvé dans "AAPL". C'est un moyen utile de rechercher un texte spécifique dans une chaîne de caractères plus longue.

Méthodes des chaînes de caractères

Les chaînes de caractères en Python sont dotées de nombreuses méthodes intégrées qui nous permettent d'effectuer diverses opérations sur les chaînes de caractères. Ces méthodes sont des fonctions associées à l'objet chaîne de caractères et peuvent être appelées en utilisant la notation pointée (string.method()).

>>> symbols.lower()    ## Convertir en minuscules
'hpq aapl ibm msft yhoo sco goog'

>>> symbols    ## La chaîne de caractères originale reste inchangée
'HPQ AAPL IBM MSFT YHOO SCO GOOG'

>>> lowersyms = symbols.lower()    ## Sauvegarder le résultat dans une nouvelle variable
>>> lowersyms
'hpq aapl ibm msft yhoo sco goog'

>>> symbols.find('MSFT')    ## Trouver l'index de départ d'une sous-chaîne
13
>>> symbols[13:17]    ## Vérifier la sous-chaîne à cette position
'MSFT'

>>> symbols = symbols.replace('SCO','')    ## Remplacer une sous-chaîne
>>> symbols
'HPQ AAPL IBM MSFT YHOO  GOOG'

Lorsque vous avez terminé vos expériences, vous pouvez quitter le shell Python en utilisant la commande suivante :

>>> exit()

Travailler avec les listes en Python

Les listes sont un type de structure de données en Python. Une structure de données est une façon d'organiser et de stocker des données de manière à ce qu'elles puissent être utilisées efficacement. Les listes sont très polyvalentes car elles peuvent stocker différents types d'éléments, comme des nombres, des chaînes de caractères ou même d'autres listes. Dans cette étape, nous allons apprendre à effectuer diverses opérations sur les listes.

Création de listes à partir de chaînes de caractères

Pour commencer à travailler avec les listes en Python, nous devons d'abord ouvrir une session interactive Python. C'est comme un environnement spécial où nous pouvons écrire et exécuter du code Python immédiatement. Pour démarrer cette session, tapez la commande suivante dans votre terminal :

python3

Une fois que vous êtes dans la session interactive Python, nous allons créer une liste à partir d'une chaîne de caractères. Une chaîne de caractères n'est qu'une séquence de caractères. Nous allons définir une chaîne de caractères qui contient quelques symboles de titres boursiers séparés par des espaces. Ensuite, nous allons convertir cette chaîne de caractères en une liste. Chaque symbole de titre boursier deviendra un élément de la liste.

>>> symbols = 'HPQ AAPL IBM MSFT YHOO GOOG'
>>> symlist = symbols.split()    ## Diviser la chaîne de caractères aux espaces
>>> symlist
['HPQ', 'AAPL', 'IBM', 'MSFT', 'YHOO', 'GOOG']

La méthode split() est utilisée pour diviser la chaîne de caractères en parties chaque fois qu'il y a un espace. Chaque partie devient ensuite un élément de la nouvelle liste.

Accès et modification des éléments de la liste

Tout comme les chaînes de caractères, les listes prennent en charge l'indexation. L'indexation signifie que nous pouvons accéder à des éléments individuels de la liste en fonction de leur position. En Python, le premier élément d'une liste a un index de 0, le deuxième a un index de 1, et ainsi de suite. Nous pouvons également utiliser l'indexation négative pour accéder aux éléments depuis la fin de la liste. Le dernier élément a un index de -1, l'avant-dernier a un index de -2, et ainsi de suite.

Contrairement aux chaînes de caractères, les éléments de la liste peuvent être modifiés. Cela signifie que nous pouvons changer la valeur d'un élément de la liste.

>>> symlist[0]    ## Premier élément
'HPQ'
>>> symlist[1]    ## Deuxième élément
'AAPL'
>>> symlist[-1]   ## Dernier élément
'GOOG'
>>> symlist[-2]   ## Avant-dernier élément
'YHOO'

>>> symlist[2] = 'AIG'    ## Remplacer le troisième élément
>>> symlist
['HPQ', 'AAPL', 'AIG', 'MSFT', 'YHOO', 'GOOG']

Itération à travers les listes

Souvent, nous devons effectuer la même opération sur chaque élément d'une liste. Nous pouvons utiliser une boucle for pour ce faire. Une boucle for nous permet de parcourir chaque élément de la liste un par un et d'effectuer une action spécifique sur celui-ci.

>>> for s in symlist:
...     print('s =', s)
...

Lorsque vous exécutez ce code, vous verrez chaque élément de la liste affiché avec l'étiquette s =.

s = HPQ
s = AAPL
s = AIG
s = MSFT
s = YHOO
s = GOOG

Vérification de l'appartenance

Parfois, nous devons vérifier si un élément particulier existe dans une liste. Nous pouvons utiliser l'opérateur in pour ce faire. L'opérateur in retourne True si l'élément est dans la liste et False s'il n'est pas présent.

>>> 'AIG' in symlist
True
>>> 'AA' in symlist
False
>>> 'CAT' in symlist
False

Ajout et suppression d'éléments

Les listes ont des méthodes intégrées qui nous permettent d'ajouter et de supprimer des éléments. La méthode append() ajoute un élément à la fin de la liste. La méthode insert() insère un élément à une position spécifique de la liste. La méthode remove() supprime un élément de la liste en fonction de sa valeur.

>>> symlist.append('RHT')    ## Ajouter un élément à la fin
>>> symlist
['HPQ', 'AAPL', 'AIG', 'MSFT', 'YHOO', 'GOOG', 'RHT']

>>> symlist.insert(1, 'AA')    ## Insérer à une position spécifique
>>> symlist
['HPQ', 'AA', 'AAPL', 'AIG', 'MSFT', 'YHOO', 'GOOG', 'RHT']

>>> symlist.remove('MSFT')    ## Supprimer par valeur
>>> symlist
['HPQ', 'AA', 'AAPL', 'AIG', 'YHOO', 'GOOG', 'RHT']

Si vous essayez de supprimer un élément qui n'existe pas dans la liste, Python lèvera une erreur.

>>> symlist.remove('MSFT')

Vous verrez un message d'erreur comme celui-ci :

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list

Nous pouvons également trouver la position d'un élément dans la liste en utilisant la méthode index().

>>> symlist.index('YHOO')
4
>>> symlist[4]    ## Vérifier l'élément à cette position
'YHOO'

Tri des listes

Les listes peuvent être triées en place, ce qui signifie que la liste originale est modifiée. Nous pouvons trier une liste par ordre alphabétique ou en ordre inverse.

>>> symlist.sort()    ## Trier par ordre alphabétique
>>> symlist
['AA', 'AAPL', 'AIG', 'GOOG', 'HPQ', 'RHT', 'YHOO']

>>> symlist.sort(reverse=True)    ## Trier en ordre inverse
>>> symlist
['YHOO', 'RHT', 'HPQ', 'GOOG', 'AIG', 'AAPL', 'AA']

Listes imbriquées

Les listes peuvent contenir tout type d'objet, y compris d'autres listes. Cela s'appelle une liste imbriquée.

>>> nums = [101, 102, 103]
>>> items = [symlist, nums]
>>> items
[['YHOO', 'RHT', 'HPQ', 'GOOG', 'AIG', 'AAPL', 'AA'], [101, 102, 103]]

Pour accéder aux éléments d'une liste imbriquée, nous utilisons plusieurs indices. Le premier index sélectionne l'élément de la liste externe, et le deuxième index sélectionne l'élément de la liste interne.

>>> items[0]    ## Premier élément (la liste symlist)
['YHOO', 'RHT', 'HPQ', 'GOOG', 'AIG', 'AAPL', 'AA']
>>> items[0][1]    ## Deuxième élément de symlist
'RHT'
>>> items[0][1][2]    ## Troisième caractère de 'RHT'
'T'
>>> items[1]    ## Deuxième élément (la liste nums)
[101, 102, 103]
>>> items[1][1]    ## Deuxième élément de nums
102

Lorsque vous avez terminé de travailler dans la session interactive Python, vous pouvez la quitter en tapant :

>>> exit()

Travailler avec les dictionnaires en Python

En Python, les dictionnaires sont une structure de données fondamentale. Ce sont des magasins de paires clé - valeur, ce qui signifie qu'ils vous permettent de faire correspondre une valeur (la valeur) à une autre (la clé). Cela est extrêmement utile lorsqu'il s'agit de traiter des données qui ont des relations naturelles de type clé - valeur. Par exemple, vous pourriez vouloir associer le nom d'une personne (la clé) à son âge (la valeur), ou, comme nous le verrons dans ce laboratoire, associer des symboles de titres boursiers (les clés) à leurs prix (les valeurs).

Création et accès aux dictionnaires

Commençons par ouvrir une nouvelle session interactive Python. C'est comme entrer dans un environnement spécial où vous pouvez écrire et exécuter du code Python ligne par ligne. Pour démarrer cette session, ouvrez votre terminal et tapez la commande suivante :

python3

Une fois que vous êtes dans la session interactive Python, vous pouvez créer un dictionnaire. Dans notre cas, nous allons créer un dictionnaire qui associe des symboles de titres boursiers à leurs prix. Voici comment faire :

>>> prices = {'IBM': 91.1, 'GOOG': 490.1, 'AAPL': 312.23}
>>> prices
{'IBM': 91.1, 'GOOG': 490.1, 'AAPL': 312.23}

Dans la première ligne, nous créons un dictionnaire nommé prices et lui assignons quelques paires clé - valeur. Les clés sont les symboles de titres boursiers (IBM, GOOG, AAPL), et les valeurs sont les prix correspondants. La deuxième ligne nous montre simplement le contenu du dictionnaire prices.

Maintenant, voyons comment accéder et modifier les valeurs dans le dictionnaire en utilisant les clés.

>>> prices['IBM']    ## Accéder à la valeur pour la clé 'IBM'
91.1

>>> prices['IBM'] = 123.45    ## Mettre à jour une valeur existante
>>> prices
{'IBM': 123.45, 'GOOG': 490.1, 'AAPL': 312.23}

>>> prices['HPQ'] = 26.15    ## Ajouter une nouvelle paire clé - valeur
>>> prices
{'IBM': 123.45, 'GOOG': 490.1, 'AAPL': 312.23, 'HPQ': 26.15}

Dans la première ligne, nous accédons à la valeur associée à la clé IBM. Dans les deuxième et troisième lignes, nous mettons à jour la valeur pour la clé IBM, puis nous ajoutons une nouvelle paire clé - valeur (HPQ avec un prix de 26.15).

Obtenir les clés d'un dictionnaire

Parfois, vous pourriez vouloir obtenir une liste de toutes les clés d'un dictionnaire. Il y a plusieurs façons de le faire.

>>> list(prices)    ## Convertir les clés du dictionnaire en une liste
['IBM', 'GOOG', 'AAPL', 'HPQ']

Ici, nous utilisons la fonction list() pour convertir les clés du dictionnaire prices en une liste.

Vous pouvez également utiliser la méthode keys(), qui retourne un objet spécial appelé dict_keys.

>>> prices.keys()    ## Retourne un objet dict_keys
dict_keys(['IBM', 'GOOG', 'AAPL', 'HPQ'])

Obtenir les valeurs d'un dictionnaire

De même, vous pourriez vouloir obtenir toutes les valeurs d'un dictionnaire. Vous pouvez utiliser la méthode values() pour cela.

>>> prices.values()    ## Retourne un objet dict_values
dict_values([123.45, 490.1, 312.23, 26.15])

Cette méthode retourne un objet dict_values qui contient toutes les valeurs du dictionnaire prices.

Suppression d'éléments

Si vous voulez supprimer une paire clé - valeur d'un dictionnaire, vous pouvez utiliser le mot - clé del.

>>> del prices['AAPL']    ## Supprimer l'entrée 'AAPL'
>>> prices
{'IBM': 123.45, 'GOOG': 490.1, 'HPQ': 26.15}

Ici, nous supprimons la paire clé - valeur avec la clé AAPL du dictionnaire prices.

Vérification de l'existence d'une clé

Pour vérifier si une clé existe dans un dictionnaire, vous pouvez utiliser l'opérateur in.

>>> 'IBM' in prices
True
>>> 'AAPL' in prices
False

L'opérateur in retourne True si la clé existe dans le dictionnaire et False sinon.

Méthodes des dictionnaires

Les dictionnaires ont plusieurs méthodes utiles. Voyons en quelques - unes.

>>> prices.get('MSFT', 0)    ## Obtenir la valeur ou une valeur par défaut si la clé n'existe pas
0
>>> prices.get('IBM', 0)
123.45

>>> prices.update({'MSFT': 25.0, 'GOOG': 500.0})    ## Mettre à jour plusieurs valeurs
>>> prices
{'IBM': 123.45, 'GOOG': 500.0, 'HPQ': 26.15, 'MSFT': 25.0}

La méthode get() essaie d'obtenir la valeur associée à une clé. Si la clé n'existe pas, elle retourne une valeur par défaut (dans ce cas, 0). La méthode update() est utilisée pour mettre à jour plusieurs paires clé - valeur dans le dictionnaire en une seule fois.

Lorsque vous avez terminé de travailler dans la session interactive Python, vous pouvez la quitter en tapant :

>>> exit()

Résumé

Dans ce laboratoire, vous avez appris à travailler avec diverses objets intégrés (built-in objects) de Python. Plus précisément, vous avez maîtrisé les opérations sur les nombres Python et leurs méthodes, manipulé les chaînes de caractères grâce à l'indexation, au découpage (slicing) et aux fonctions intégrées, créé et modifié des listes, y compris le tri et la gestion de structures imbriquées, et utilisé des dictionnaires pour le stockage et la récupération de paires clé - valeur.

Ces compétences fondamentales sont la pierre angulaire d'une programmation Python plus avancée. Une pratique régulière de ces opérations améliorera votre familiarité avec les types de données intégrés de Python.