Licence CC BY-NC-SA

Première approche

Maintenant que la bestiole a gentiment intégré votre ordinateur, voyons ce qu'elle a dans le ventre.

Présentation de l'interpréteur

Je vais supposer que vous savez qu’exécuter ou valider une commande signifie appuyer sur Entrée et que vous pouvez lancer votre interpréteur comme expliqué dans le chapitre sur l'installation.

Une fois votre interpréteur lancé, Python vous informe qu'il est prêt et attend vos instructions en ajoutant >>> au début de la ligne.

Si vous tentez de taper ce qu'il vous passe par la tête, vous allez très probablement vous retrouver avec une erreur. Par exemple :

1
2
3
4
>>> salut
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'salut' is not defined

Ceci est donc votre première erreur (et ce ne sera pas la dernière). Elle commence généralement par Traceback, ce qui signifie que ce qui suit est un récapitulatif de certaines actions qui ont eu lieu avant l'erreur. Vient ensuite le nom de l'erreur, dans ce cas NameError, suivi d'un message plus détaillé sur l'erreur, vous permettant de comprendre ce qui met Python en colère. Ici, Python nous informe que le nom salut ne correspond à rien de connu pour lui. Nous détaillerons les erreurs au fur et à mesure que nous les croiserons.

Nous allons donc apprendre à utiliser des instructions valides que Python saura interpréter.

Un peu de mathématiques

Mais non, ne partez pas, c'est lui qui va calculer. Nous allons commencer par la base, à savoir vérifier que nous pouvons saisir des valeurs numériques.

1
2
3
4
>>> 42
42
>>> 4.2
4.2

Ce coup-ci pas d'erreur en vue. Enfin, vous me direz peut être que le fait qu'il radote ne va pas dans ce sens. En réalité, Python ne radote pas, mais nous répond. On le sait, car la ligne ne commence pas par >>>. Pour le moment, on lui a dit 42 et il nous répond ça fait 42.

Notez bien l'utilisation du point et non de la virgule pour les nombres à virgule. Nos amis anglo-saxons étant passés par là, il va falloir utiliser leur convention. La virgule a une autre signification que nous verrons plus loin.

Maintenant les opérations de base :

1
2
3
4
5
6
7
8
>>> 3.2 + 1 # Addition
4.2
>>> 7 - 3 # Soustraction
4
>>> 6 * 5 # Multiplication
30
>>> 1 / 3 # Division
0.3333333333333333

Vous avez sans doute remarqué le # suivi de texte. Ceci s'appelle un commentaire. Le dièse informe Python que tout ce qui se trouve sur la même ligne après lui ne le concerne pas : il va donc simplement l'ignorer. L'utilité non négligeable est que vous pouvez ainsi laisser des notes dans votre code pour vous souvenir de ce qu'il fait. Ceci deviendra de plus en plus utile au fur et à mesure que vos projets grandiront. Je vous recommande donc de prendre l'habitude de commenter votre code dès maintenant. Vous pouvez également écrire un commentaire sur plusieurs lignes en l'encadrant par """ au début et à la fin, comme ceci :

1
2
3
4
"""
Un commentaire
sur plusieurs lignes que Python ignorera
"""

Remarquez que la dernière commande renvoie un résultat approché. En effet, la représentation par défaut des nombres à virgule ne peut pas comporter un nombre de décimales infini. Ces erreurs d'approximation peuvent se cumuler et donner des résultats surprenant. Par exemple :

1
2
>>> 9.3 - 8.5
0.8000000000000007

Rassurez-vous, il existe des moyens de contourner ces problèmes d’arrondi, mais pour des raisons de simplicité, nous ne les aborderons pas ici. Gardez à l'esprit que travailler avec des nombres à virgule peut réserver des surprises à cause des arrondis, même si vous ne les remarquerez pas la plupart du temps.

D'autres opérations

Vous ne pensiez pas que c'était déjà fini ? Nous allons voir trois autres opérations : la division entière, le modulo et l'élévation à une puissance.

Les deux premières correspondent au quotient et au reste des divisions que l'on posait à la main. Par exemple :

1
2
3
4
>>> 13 // 3 # Le quotient
4
>>> 13 % 3 # Le reste
1

Et l'on trouve bien 13 = 3 * 4 + 1.

La puissance, quant à elle, se note comme ceci :

1
2
>>> 2 ** 3
8

Cette opération est parfois notée ^ dans certains logiciels, tels que Excel. Néanmoins le ^ possède une autre signification en Python qui ne nous intéresse pas pour le moment. Soyez donc prudent car Python ne vous retournera pas forcément une erreur.

Python suit l'ordre conventionnel de priorité des opérations mathématiques (pour rappel, l'exponentiation en premier, suivit de la multiplication et la division, et finalement de l'addition et la soustraction). Vous pouvez néanmoins changer cet ordre en utilisant des parenthèses pour donner la priorité à une opération, comme en mathématiques.

Ecrire son code dans des fichiers

L'interpréteur est bien pratique pour tester de petits bouts de code, mais il présente plusieurs inconvénients, l'un d'entre eux étant que quand vous le fermez, tout votre code disparait. C'est alors qu'interviennent les fichiers, qui nous permettrons de sauvegarder notre travail.

Tout d'abord, je vous recommande d'utiliser un éditeur de texte un peu avancé et spécialisé dans l'écriture de code. La principale fonctionnalité qui nous sera utile pour le moment est la colorisation syntaxique. Si vous possédez déjà un éditeur de texte avec cette fonctionnalité, pas besoin d'en installer un autre. Si ce n'est pas le cas, un premier choix vous sera indiqué dans la partie réservée pour votre système d'exploitation. Plus tard vous pourrez peut-être vous tourner vers un EDI (ou IDE en anglais), qui propose plusieurs fonctionnalités avancées pour vous assister dans vos grands projet, mais qui sont souvent déroutantes quand on débute.

Prenez l'habitude de nommer vos fichiers avec des noms clairs, sans espace ou caractères spéciaux. Cela vous évitera des mauvaises surprises plus tard.

Cette procédure différant quelque peu selon votre système d'exploitation, veuillez-vous reporter à la partie vous concernant.

Windows

Vous pouvez utiliser Notepad++ pour commencer. Sachez qu’il existe de nombreux choix, libre à vous d'utiliser un autre logiciel si celui-ci n'est pas à votre convenance.

Une fois dans votre éditeur, tapez votre code puis enregistrez votre fichier. Au moment de l'enregistrement, spécifiez l'extension .py. Ouvrez votre explorateur de fichier et rendez vous dans le dossier où vous avez sauvegardé votre fichier.

Maintenant, pour exécuter votre code, copiez le chemin d'accès du répertoire. Faites ensuite shift + clic droit. Vous aurez alors accès à une ligne s'intitulant Ouvrir une fenêtre de commandes ici. Cliquez dessus, et vous aurez alors une console directement située dans ce dossier.

astuce_cmd_windows

Si par malheur vous ne parvenez pas à effectuer l'opération présentée si dessus, voici une méthode plus longue, mais qui devrait être exempt de la plupart des caprices de votre OS. Tapez Windows + R puis cmd puis Entrée. Nous revoilà dans la console mais les choses diffèrent un peu maintenant. Tapez cd cheminchemin est le chemin d'accès du répertoire, puis Entrée. Pour coller le chemin d'accès, effectuez un clic droit puis coller (Ctrl + V ne fonctionnera pas).

Maintenant, tapez python nom-fichier.py. Si dans les chapitres précédant vous deviez lancer Python en spécifiant son nom de chemin complet, remplacer alors python par le nom du chemin que vous utilisiez.

Si vous avez l'impression que rien ne se passe et que vous n'avez pas d'erreur, c'est normal. Rendez vous plus bas, où les explications communes reprennent.

Quelques modifications

Nous allons voir quelques points pour que votre séjour en compagnie de vos fichiers se passe dans les meilleures conditions.

L'encodage

L'encodage est la façon dont les ordinateurs se représentent le texte. Il existe de nombreux encodages différents, et donc des représentations différentes. Python a besoin de savoir dans quel encodage vous travaillez pour pouvoir lire correctement votre fichier. Les problèmes sont généralement le plus visible quand vous commencez à utiliser des accents par exemple. Généralement, si vous êtes sous Windows, vous travaillez vraisemblablement en Latin-1, alors que si vous êtes sous Linux ou Mac, il est plus probable que vous utilisiez UTF-8. Pour spécifier votre encodage, ajoutez # -*-coding:encodage -* en haut de votre fichier. Remplacez encodage par celui que vous utilisez, par exemple :

1
2
3
4
5
# -*-coding:Latin-1 -*
# Généralement sous Windows

# -*-coding:Utf-8 -*
# Généralement sou Linux ou Mac

Cette ligne doit apparaitre au début de tous vos fichiers.

Par défaut, Python va considérer que vos fichiers sont encodés en Utf-8. Sous Linux ou Mac, vous pouvez donc omettre cette ligne puisque qu'il est très probable que l'encodage par défaut de votre fichier soit aussi Utf-8. Néanmoins, si vous travaillez sur des ordinateurs avec des OS différents, il est préférable d'ajouter cette ligne afin d'éviter les mauvaises surprises.

Écrire dans la console

Vous vous êtes probablement rendu compte que Python ne nous parle plus. C'est normal. Il se contente d’exécuter le code dans notre fichier. N'étant plus chez lui, il est beaucoup moins bavard et ne parle que si on le lui demande. Comment lui dire de parler ? Comme ceci :

1
print(5 + 3)

Je vous l'accorde, il y a un peu de changement, mais ça sera plus simple pour la suite. Vous êtes dans un fichier donc plus de >>> car vous êtes ici chez vous. Python ne viendra pas vous répondre ici, mais dans la console et quand nous lui demanderons (ou si il rencontre une erreur). Tout ce qui se trouve dans le fichier sera interprété au moment où vous l'exécuterez.

Pour l'étrangeté de la ligne de code donnée, print, qui signifie « imprimer » en anglais, est ce que l'on appelle une fonction. Pour le moment, retenez juste que Python va afficher dans la console le résultat de ce qui se trouve entre les parenthèses de print. Dans notre exemple, le résultat de 5 + 3 sera affiché dans la console. Ne vous inquiétez pas, nous allons nous servir régulièrement de print et vous allez vite vous y habituer. Nous reviendrons sur les fonctions plus tard.


Maintenant que nous pouvons sauvegarder nos petits bébés programmes, nous allons pouvoir les complexifier sans craindre de devoir tout retaper la fois suivante (pourvu que vous pensiez à sauvegarder bien sûr :p ).