Section courante

A propos

Section administrative du site

Les premiers pas

Si vous n'avez pas encore ouvert IDLE, ouvrez-le, tapez dans la recherche "Python" de Windows en cliquez sur l'icône. Vous travaillerez avec deux fenêtres principales dans IDLE : la fenêtre interactive, s'ouvrant lorsque vous démarrez IDLE, et la fenêtre de l'éditeur.

Vous pouvez saisir du code dans la fenêtre interactive et dans la fenêtre de l'éditeur. La différence entre les deux fenêtres réside dans la manière dont elles exécutent le code. Dans cette section, vous apprendrez à exécuter du code Python dans les deux fenêtres.

La fenêtre interactive

La fenêtre interactive d'IDLE contient un interpréteur de commande Python, étant une interface utilisateur textuelle utilisée pour interagir avec le langage de programmation Python. Vous pouvez saisir un peu de code Python dans la fenêtre interactive et appuyer sur Enter pour voir immédiatement les résultats. D'où le nom de fenêtre interactive.

La fenêtre interactive s'ouvre automatiquement lorsque vous démarrez IDLE. Vous verrez le texte suivant, avec quelques différences mineures selon votre configuration, affiché en haut de la fenêtre :

Python 3.9.2 Python 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55)
[MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

Ce texte indique la version de Python qu'exécute IDLE. Vous pouvez également voir des informations sur votre système d'exploitation et certaines commandes que vous pouvez utiliser pour obtenir de l'aide et afficher des informations sur Python.

Le symbole >>> de la dernière ligne s'appelle le prompt. C'est ici que vous saisirez votre code.

Allez-y et saisissez 1 + 1 au prompt et appuyez sur Enter :

>>>1 + 2
3
>>>

Python évalue l'expression, affiche le résultat (2), puis affiche une autre prompt. Chaque fois que vous exécutez du code dans la fenêtre interactive, une nouvelle invite apparaît directement sous le résultat.

L'exécution de Python dans la fenêtre interactive peut être décrite comme une boucle en trois étapes :

Cette boucle est communément appelée boucle de lecture-évaluation-impression et est abrégée en REPL. Les programmeurs Python font parfois référence à l'interpréteur de commande Python sous le nom de Python REPL, ou simplement «le REPL» en abrégé.

Essayons quelque chose d'un peu plus intéressant que l'addition de nombres. Un rite de passage pour tout programmeur consiste à écrire un programme affichant la phrase «Bonjour le monde» à l'écran.

Au prompt de la fenêtre interactive, saisissez le mot print suivi d'une série de parenthèses contenant le texte «Bonjour le monde» à l'intérieur :

>>> print("Bonjour le monde")
Bonjour le monde

Une fonction est un code exécutant une tâche et peut être appelé par un nom. Le code ci-dessus invoque ou appelle la fonction print() avec le texte «Bonjour le monde» en entrée.

Les parenthèses indiquent à Python d'appeler la fonction print(). Elles enferment également tout ce qui est envoyé à la fonction en entrée. Les guillemets indiquent que «Bonjour le monde» est vraiment du texte et pas autre chose.

La fenêtre interactive exécute une seule ligne de code à la fois. Cela est utile pour tester de petits exemples de code et explorer le langage de programmation Python, mais cela présente une limitation majeure : vous devez saisir votre code une ligne à la fois !

Vous pouvez également enregistrer le code Python dans un fichier texte et exécuter tout le code du fichier pour exécuter un programme complet.

La fenêtre de l'éditeur

Vos pouvez lancer l'IDLE en tapant la barre de recherche «IDLE». Vous écrirez vos fichiers Python à l'aide de la fenêtre de l'éditeur d'IDLE. Vous pouvez ouvrir la fenêtre de l'éditeur en sélectionnant File > New file dans le menu en haut de la fenêtre interactive :

La fenêtre interactive reste ouverte lorsque vous ouvrez la fenêtre de l'éditeur. Elle affiche la sortie générée par le code dans la fenêtre de l'éditeur. Vous souhaiterez donc organiser les deux fenêtres de manière à pouvoir les voir toutes les deux en même temps.

Dans la fenêtre de l'éditeur, saisissez le même code que celui que vous avez utilisé pour afficher «Bonjour le monde» dans la fenêtre interactive :

  1. print("Bonjour le monde")

IDLE met en évidence le code saisi dans la fenêtre de l'éditeur, comme dans la fenêtre interactive.

Important : lorsque vous écrivez du code dans un fichier Python, vous n'avez pas besoin d'inclure le prompt >>>.

Avant d'exécuter votre programme, vous devez l'enregistrer. Sélectionnez File > Save dans le menu et enregistrez le fichier sous bonjour.py.

Remarque : sur certains systèmes, le répertoire par défaut pour l'enregistrement des fichiers dans IDLE est le répertoire d'installation de Python. N'enregistrez pas vos fichiers dans ce répertoire. Enregistrez-les plutôt sur votre bureau ou dans un dossier du répertoire personnel de votre utilisateur.

L'extension .py indique qu'un fichier contient du code Python. En fait, l'enregistrement de votre fichier avec une autre extension supprime la mise en surbrillance du code. IDLE ne met en surbrillance le code Python que lorsqu'il est entreposé dans un fichier .py.

Exécution de programmes Python dans la fenêtre de l'éditeur

Pour exécuter votre programme, sélectionnez Run > Run Module dans le menu de la fenêtre de l'éditeur :

Remarque : appuyer sur F5 exécute également un programme depuis la fenêtre de l'éditeur.

La sortie du programme apparaît toujours dans la fenêtre interactive.

Chaque fois que vous exécutez du code à partir d'un fichier, vous verrez quelque chose comme la sortie suivante dans la fenêtre interactive :

>>> =================== RESTART ===================

Dans notre, se sera quelques choses comme ceci :

IDLE redémarre l'interpréteur Python, étant le programme informatique exécutant réellement votre code, chaque fois que vous exécutez un fichier. Cela garantit que les programmes sont exécutés de la même manière à chaque fois.

Ouverture de fichiers Python dans la fenêtre de l'éditeur

Pour ouvrir un fichier existant dans IDLE, sélectionnez File > Open dans le menu, puis sélectionnez le fichier que vous souhaitez ouvrir. IDLE ouvre chaque fichier dans une nouvelle fenêtre d'éditeur, ce qui vous permet d'ouvrir plusieurs fichiers en même temps.

Vous pouvez également ouvrir un fichier à partir d'un gestionnaire de fichiers, tel que l'Explorateur Windows ou le Finder de macOS. Cliquez avec le bouton droit sur l'icône du fichier et sélectionnez Edit avec IDLE pour ouvrir le fichier dans la fenêtre de l'éditeur d'IDLE. Double-cliquer sur un fichier .py à partir d'un gestionnaire de fichiers exécute le programme. Cependant, cela exécute généralement le fichier avec le système Python et la fenêtre du programme disparaît immédiatement après la fin du programme, souvent avant même que vous ne puissiez voir une sortie.

Pour l'instant, la meilleure façon d'exécuter vos programmes Python est de les ouvrir dans la fenêtre de l'éditeur d'IDLE et de les exécuter à partir de là.

Il manque quelque chose

Tout le monde fait des erreurs, surtout en programmation ! Si vous n'avez pas encore commis d'erreur, prenons une longueur d'avance et faisons exprès de gâcher quelque chose pour voir ce qui se passe.

Les erreurs dans les programmes sont appelées errors. Vous rencontrerez deux principaux types d'erreurs : les erreurs de syntaxe et les erreurs d'exécution.

Erreurs de syntaxe

Une erreur de syntaxe se produit lorsque vous écrivez du code n'étant pas autorisé dans le langage de programmation Python.

Créons une erreur de syntaxe en supprimant le dernier guillemet du code du fichier bonjour.py que vous avez créé dans la section précédente :

  1. print("Bonjour le monde)

Enregistrez le fichier et appuyez sur F5 pour l'exécuter. Le code ne s'exécute pas ! IDLE affiche une boîte d'alerte avec le message suivant :

EOL while scanning string literal.

Il y a deux termes dans ce message pouvant ne pas vous être familiers :

Ainsi, le message vous indique que Python est arrivé à la fin d'une ligne lors de la lecture d'un littéral de chaîne de caractères. Les littéraux de chaîne de caractères doivent être terminés par un guillemet avant la fin d'une ligne.

L'IDLE met en surbrillance la ligne contenant print("Bonjour) en rouge pour vous aider à trouver rapidement la ligne de code contenant l'erreur de syntaxe. Sans le deuxième guillemet, tout ce qui se trouve après le premier guillemet, y compris la parenthèse fermante, fait partie d'un littéral de chaîne de caractères.

Erreurs d'exécution

L'IDLE détecte les erreurs de syntaxe avant le début de l'exécution d'un programme. En revanche, les erreurs d'exécution ne se produisent que pendant l'exécution d'un programme. Pour générer une erreur d'exécution, supprimez les deux guillemets dans le fichier bonjour.py :

  1. print(Bonjour, le, monde)

Avez-vous remarqué que la couleur du texte est devenue noire lorsque vous avez supprimé les guillemets ? IDLE ne reconnaît plus «Bonjour, le, monde» comme du texte. Que pensez-vous qu'il se passera lorsque vous exécuterez le programme ? Appuyez sur F5 pour le savoir !

Le texte suivant s'affiche en rouge dans la fenêtre interactive :

Traceback (most recent call last):
  File "C:/Users/Sylvain Maltais/Documents/Python/bonjour.py", line 1, in <module>
    print(Bonjour, le ,monde)
NameError: name 'Bonjour' is not defined

Chaque fois qu'une erreur se produit, Python arrête l'exécution du programme et affiche plusieurs lignes de texte appelées traceback. La traceback montre des informations utiles sur l'erreur.

Il est préférable de lire les tracebacks de bas en haut :

Créer une variable

En Python, les variables sont des noms auxquels on peut attribuer une valeur, puis les utiliser pour faire référence à cette valeur dans tout votre code.

Les variables sont fondamentales pour la programmation pour deux raisons :

Dans cette section, vous apprendrez à utiliser des variables dans votre code, ainsi que certaines des conventions que les programmeurs Python suivent lors du choix des noms des variables.

L'opérateur d'affectation

Un opérateur est un symbole, tel que +, effectuant une opération sur une ou plusieurs valeurs. Par exemple, l'opérateur + prend deux nombres, l'un à gauche de l'opérateur et l'autre à droite, et les additionne.

Les valeurs sont attribuées aux noms de variables à l'aide d'un symbole spécial appelé opérateur d'affectation (=). L'opérateur = prend la valeur à droite de l'opérateur et l'attribue au nom de gauche.

Modifions le fichier bonjour.py de la section précédente pour attribuer du texte à une variable avant de l'afficher à l'écran :

>>> salutation = "Bonjour le monde"
>>> print(salutation)
Bonjour le monde

Sur la première ligne, vous créez une variable nommée salutation et lui attribuez la valeur « Bonjour le monde » à l'aide de l'opérateur =.

print(salutation) affiche la sortie «Bonjour le monde» car Python recherche le nom salutation, constate que la valeur «Bonjour le monde» lui a été attribuée et remplace le nom de la variable par sa valeur avant d'appeler la fonction.

Si vous n'aviez pas exécuté salutation = "Bonjour le monde" avant d'exécuter print(salutation), vous auriez vu une NameError comme lorsque vous avez essayé d'exécuter print(Bonjour, le, monde) dans la section précédente.

Remarque : bien que = ressemble au signe égal des mathématiques, il a une signification différente en Python. Cette distinction est importante et peut être une source de frustration pour les programmeurs débutants. N'oubliez pas que chaque fois que vous voyez l'opérateur =, tout ce qui se trouve à sa droite est affecté à une variable de gauche.

Les noms de variables sont sensibles à la casse, donc une variable nommée salutation n'est pas la même chose qu'une variable nommée Salutation. Par exemple, le code suivant génère une NameError :

>>> salutation = "Bonjour le monde"
>>> print(Salutation)
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
NameError: name 'Salutation' is not defined

Règles pour les noms de variables valides

Les noms de variables peuvent être aussi longs ou aussi courts que vous le souhaitez, mais il existe quelques règles que vous devez suivre. Les noms de variables peuvent contenir des lettres majuscules et minuscules (A à Z, a à z), des chiffres (0 à 9) et des traits de soulignement (_), mais ils ne peuvent pas commencer par un chiffre.

Par exemple, chacun des éléments suivants est un nom de variable Python valide :

Les noms de variables suivants ne sont pas valides car ils commencent par un chiffre :

En plus des lettres et des chiffres anglais, les noms de variables Python peuvent contenir de nombreux caractères Unicode valides différents.

Unicode est une norme de représentation numérique des caractères utilisés dans la plupart des systèmes d'écriture du monde. Cela signifie que les noms de variables peuvent contenir des lettres d'alphabets non anglais, comme des lettres accentué comme é et ü, et même des symboles chinois, japonais et arabes.

Cependant, tous les systèmes ne peuvent pas afficher les caractères décorés, il est donc préférable de les éviter si vous souhaitez partager votre code avec des personnes de différentes régions.

Ce n'est pas parce qu'un nom de variable est valide que c'est forcément un bon nom.

Choisir un bon nom pour une variable peut s'avérer étonnamment difficile. Heureusement, il existe quelques conseils que vous pouvez suivre pour vous aider à choisir de meilleurs noms.

Les noms descriptifs sont meilleurs que les noms courts

Les noms de variables descriptifs sont essentiels, en particulier pour les programmes complexes. L'écriture de noms descriptifs nécessite souvent l'utilisation de plusieurs mots. N'ayez pas peur d'utiliser des noms de variables longs. Dans l'exemple suivant, la valeur 3600 est attribuée à la variable s :

  1. s = 3600

Le nom s est totalement ambigu. L'utilisation d'un mot complet permet de comprendre beaucoup plus facilement la signification du code :

  1. secondes = 3600

Le nom secondes est plus approprié que s car il fournit plus de contexte. Mais il ne transmet toujours pas la signification complète du code. 3600 est-il le nombre de secondes nécessaires à un processus pour se terminer, ou est-ce la durée d'un film ? Il n'y a aucun moyen de le savoir. Le nom suivant ne laisse aucun doute sur la signification du code :

  1. secondes_par_heure = 3600

Lorsque vous lisez le code ci-dessus, il ne fait aucun doute que 3600 est le nombre de secondes dans une heure. secondes_par_heure prend plus de temps à saisir que la lettre simple s et le mot seconds, mais le gain en clarté est énorme.

Bien que nommer les variables de manière descriptive implique d'utiliser des noms de variables plus longs, vous devez éviter d'utiliser des noms trop longs. Une bonne règle de base consiste à limiter les noms de variables à trois ou quatre mots maximum.

Conventions de dénomination des variables Python

Dans de nombreux langages de programmation, il est courant d'écrire les noms de variables en casse mixte. Dans ce système, vous mettez en majuscule la première lettre de chaque mot sauf le premier et laissez toutes les autres lettres en minuscules. Par exemple, nombreEtudiants et listeDeNoms sont écrits en casse mixte.

En Python, cependant, il est plus courant d'écrire les noms de variables en minuscules avec des traits de soulignement. Dans ce système, vous laissez chaque lettre en minuscules et séparez chaque mot par un trait de soulignement. Par exemple, nombre_etudiants et liste_de_noms sont tous deux écrits à l'aide du système minuscules avec des traits de soulignement. Aucune règle n'impose d'écrire les noms de vos variables en minuscules avec des traits de soulignement.

La pratique est cependant codifiée dans un document appelé PEP 8, étant largement considéré comme le guide de style officiel pour l'écriture en Python.

Remarque : PEP signifie Python Enhancement Proposal (proposition d'amélioration de Python). Un PEP est un document de conception utilisé par la communauté Python pour proposer de nouvelles fonctionnalités au langage de programmation.

Le respect des normes décrites dans PEP 8 garantit que votre code Python est lisible par la plupart des programmeurs Python. Cela facilite le partage de code et la collaboration avec d'autres personnes pour toutes les personnes impliquées.

Inspecter les valeurs dans la fenêtre interactive

Saisissez ce qui suit dans la fenêtre interactive d'IDLE :

>>> salutation = "Bonjour"
>>> salutation
'Bonjour'

Lorsque vous appuyez sur Enter après avoir tapé salutation une deuxième fois, Python affiche la chaîne de caractères littérale attribuée à salutation même si vous n'avez pas utilisé la fonction print(). C'est ce qu'on appelle l'inspection des variables.

Affichez maintenant la chaîne de caractères attribuée à salutation à l'aide de la fonction print() :

>>> print(salutation)
Bonjour

Pouvez-vous repérer la différence entre la sortie affichée en utilisant print() et la sortie affichée en saisissant simplement le nom de la variable et en appuyant sur Enter ?

Lorsque vous saisissez le nom de la variable salutation et appuyez sur Enter, Python affiche la valeur attribuée à la variable telle qu'elle apparaît dans votre code. Vous avez attribué la chaîne de caractères littérale «Bonjour» à salutation, c'est pourquoi «salutation» s'affiche entre guillemets.

D'autre part, print() affiche une représentation plus lisible de la valeur de la variable, ce qui, pour les littéraux de chaîne, signifie afficher le texte sans guillemets.

Parfois, l'affichage et l'inspection d'une variable produisent le même résultat :

>>> x = 3
>>> x
3
>>> print(x)
3

Ici, vous attribuez le nombre 2 à x. L'utilisation de print(x) et l'inspection de x affichent toutes deux la sortie sans guillemets, car 3 est un nombre et non un texte. Dans la plupart des cas, cependant, l'inspection des variables vous donne des informations plus utiles que print().

Supposons que vous ayez deux variables : x, à laquelle est attribué le nombre 3, et y, à laquelle est attribué le littéral de chaîne de caractères «3». Dans ce cas, print(x) et print(y) affichent tous deux la même chose :

>>> x = 3
>>> y = "3"
>>> print(x)
3
>>> print(y)
3

Le point essentiel à retenir ici est que print() affiche une représentation lisible de la valeur d'une variable, tandis que l'inspection des variables affiche la valeur telle qu'elle apparaît dans le code.

Gardez à l'esprit que l'inspection des variables ne fonctionne que dans la fenêtre interactive. Par exemple, essayez d'exécuter le programme suivant à partir de la fenêtre de l'éditeur :

  1. salutation = "Bonjour le monde"
  2. salutation

Le programme s'exécute sans erreur, mais il n'affiche aucune sortie !

Laissez-vous des notes utiles

Les programmeurs lisent parfois du code qu'ils ont écrit il y a un certain temps et se demandent : «À quoi cela sert cette partie de code ?» Lorsque vous n'avez pas regardé de code depuis un certain temps, il peut être difficile de vous rappeler pourquoi vous l'avez écrit de cette façon !

Pour éviter ce problème, vous pouvez laisser des commentaires dans votre code. Les commentaires sont des lignes de texte n'affectant pas la façon dont un programme s'exécute. Ils documentent ce que fait le code ou pourquoi le programmeur a pris certaines décisions.

Comment écrire un commentaire

La façon la plus courante d'écrire un commentaire est de commencer une nouvelle ligne dans votre code avec le caractère #. Lorsque vous exécutez votre code, Python ignore les lignes commençant par #.

Les commentaires commençant sur une nouvelle ligne sont appelés commentaires de bloc. Vous pouvez également écrire des commentaires en ligne, étant des commentaires apparaissant sur la même ligne que le code auquel ils font référence. Il suffit de mettre un # à la fin de la ligne de code, suivi du texte de votre commentaire.

Voici un exemple de programme avec les deux types de commentaires :

  1. # Ceci est un commentaire de bloc.
  2. salutation = "Bonjour le monde"
  3. print(salutation)  # Ceci est un commentaire en ligne.

Bien entendu, vous pouvez toujours utiliser le symbole # à l'intérieur d'une chaîne de caractères. Par exemple, Python ne confondra pas ce qui suit avec le début d'un commentaire :

>>> print("#1")
#1

En général, il est préférable de garder les commentaires aussi courts que possible, mais il arrive parfois que vous ayez besoin d'écrire plus que raisonnablement sur une seule ligne. Dans ce cas, vous pouvez continuer votre commentaire sur une nouvelle ligne commençant également par le symbole # :

  1. # C'est mon premier programme.
  2. # Il affiche la phrase «Bonjour le monde»
  3. # Les commentaires sont plus longs que le code !
  4. salutation = "Bonjour le monde"
  5. print(salutation)

Vous pouvez également utiliser des commentaires pour commenter du code pendant que vous testez un programme. Placer un # au début d'une ligne de code vous permet d'exécuter votre programme comme si cette ligne de code n'existait pas, mais cela ne supprime pas réellement le code.

Pour commenter une section de code dans IDLE, mettez en surbrillance une ou plusieurs lignes à commenter et appuyez sur :

Pour supprimer des commentaires, mettez en surbrillance les lignes commentées et appuyez sur :

Voyons maintenant quelques conventions courantes pour les commentaires de code.

Conventions

Selon PEP 8, les commentaires doivent toujours être rédigés sous forme de phrases complètes avec un seul espace entre le # et le premier mot du commentaire :

  1. # Ce commentaire est formaté selon PEP 8.
  2.  
  3. #Celui-ci ne l'est pas

Pour les commentaires en ligne, PEP 8 recommande au moins deux espaces entre le code et le symbole # :

  1. phrase = "Bonjour le monde"  
  2. # Ce commentaire est conforme à PEP 8.
  3. print(phrase)# Ce commentaire ne l'est pas.

La PEP 8 recommande d'utiliser les commentaires avec parcimonie. Les commentaires décrivant ce qui est déjà évident à la lecture du code sont une bête noire des programmeurs.

Par exemple, le commentaire dans le code suivant est inutile :

  1. # Print "Bonjour le monde"
  2. print("Bonjour le monde")

Le commentaire est inutile car le code lui-même décrit explicitement ce qui se passe. Les commentaires sont mieux utilisés pour clarifier un code pouvant être difficile à comprendre ou pour expliquer pourquoi quelque chose est codé d'une certaine manière.



Dernière mise à jour : Lundi, le 14 octobre 2024