1B0 : TP d’initiation à Python 3
Initiation à Python 3
Le langage de programmation fixé comme référence pour cette année de formation, est Python, en version 3. Ce premier TP a pour but de vous donner des bases de programmation suffisantes pour transcrire n’importe quel algorithme travaillant sur des types de données simples : nombres, chaînes de caractères et listes. Il ne s’agit pas d’être virtuose, mais simplement que le langage ne soit pas un obstacle à la mise en pratique.
Si vous connaissez déjà bien Python, ne vous attardez bien sûr pas sur le début. Le choix de l’environnement de développement (ici IDLE) n’est qu’une suggestion : faites comme à la maison.
Si vous connaissez déjà un autre langage de programmation, c’est l’occasion d’en découvrir un nouveau, peut-être assez différent.
Dans ces deux cas, la première partie ne devrait pas trop poser de problème, et vous pourrez vous attaquer à un authentique TP de programmation en deuxième partie.
Et si c’est votre premier contact avec la programmation, pas d’inquiétude, on avancera pas à pas. La deuxième partie est tout à fait optionnelle à ce niveau.
Lancer un interpréteur
Si ce n’est déjà fait, il faut bien sûr commencer par installer Python :
si vous travaillez sous Windows ou Mac, les fichiers nécessaires sont accessibles sur le site http://www.python.org/ : choisir la dernière version stable (actuellement 3.3.0) ;
- sous GNU/Linux, installez simplement les paquets python3 et idle3 en utilisant le gestionnaire de paquet de votre distribution.
Avec un peu de chance, ces instructions sont inutiles dans la salle informatique du site de formation.
Un programme Python est un simple fichier de texte qui contient les instructions à faire exécuter par la machine, ou plutôt l’interpréteur Python. Par exemple :
On pourrait donc se contenter de taper ce code source dans un éditeur de texte (ce qui est différent d’un logiciel de traitement de texte), puis le faire exécuter par l’interpréteur. Mais l’interpréteur peut également être utilisé de manière interactive. C’est ce que nous ferons pour les premiers pas qui suivent.
Lançons donc l’environnement graphique IDLE. On se retrouve devant une fenêtre comme celle-ci :
L’invite >>> nous… invite à taper des instructions Python. Ce que nous allons nous empresser de faire.
Python comme calculatrice
Lorsque vous tapez une instruction, l’interpréteur affiche la valeur éventuellement produite.
Par exemple :
(j’ai tapé « 42 », puis fait « Entrée » et l’interpréteur a affiché 42).
On peut bien sûr former des expressions arithmétiques plus compliquées. Testez par exemple les expressions suivantes et essayez de deviner ce que ça calcule, si possible avant de le taper :
Si vous connaissez Python 2, certains des résultats précédents vous ont peut-être surpris. On les expliquera sur place.
Et si vous avez le moindre doute sur ce qui vient de se passer, il faut le dire !
À tout moment, vous pouvez revenir sur une ligne précédente et appuyer sur « Entrée » pour recopier automatiquement son contenu : pratique quand on a fait une erreur de frappe ou quand on tape des lignes un peu répétitives.
Plus étonnant peut-être :
Si le programme a l’air bloqué, vous pouvez interrompre l’exécution avec la combinaison de touches « Ctrl+D ».
À ce stade, que pouvez-vous dire de la manière dont Python 3 gère les nombres ?
Python comme calculatrice scientifique
On n’est bien sûr pas limités aux opérations arithmétiques. Python est en fait un langage assez prisé dans le monde du calcul scientifique moderne, en particulier parce qu’il fournit des bibliothèques de calcul aux fonctionnalités avancées. Il n’en sera pas question ici, mais on peut déjà trouver pas mal de choses dans la bibliothèque standard.
Essayez ce qui suit :
Chaînes de caractères
Bien sûr Python n’est pas limité au calcul numérique : le cœur de l’informatique moderne (disons à partir des années 70), ce sont les chaînes de caractères. En Python, une chaîne littérale est indifféremment entourée d’apostrophes « ' » ou de guillemets anglais « " ».
Tentons un laconique :
1 'Bonjour.'
Notez que les apostrophes restent présentes dans la sortie : l’interpréteur nous signale que nous avons bien construit une chaîne.
Pour afficher une chaîne, on utilise l’instruction print :
1 print('Bonjour.')
Vous voyez la différence ?
L’opération de base sur les chaînes est la concaténation :
1 'Bon' + 'jour.'
Oui, ça se note comme une somme.
On peut aussi calculer la longueur d’une chaîne :
1 len('Bon' + 'jour.')
Notez que Python 3 n’est pas inquiété par tous les caractères bizarres que vous pourrez entrer :
(par contre, votre navigateur peut l’être).
La dernière ligne en étonnera peut-être certains.
Variables et types
On a vu qu’un élément essentiel de l’écriture d’algorithmes est la possibilité de stocker des informations intermédiaires dans des variables : cette notion est omniprésente en programmation.
En Python, le nom d’une variable est nécessairement constitué de caractères alphanumériques, plus éventuellement le caractère « souligné » _. Le premier caractère doit être une lettre.
Des exemples :
x x1 ma_variable_preferee
L’affectation d’une valeur à une variable est notée par le signe « = », un choix mathématiquement regrettable mais assez répandu. Essayons :
On peut afficher une valeur numérique de la même manière qu’une chaîne :
Et on peut afficher plusieurs choses sur la même ligne :
1 print('x :',x,'y :',y,'Somme :',somme,'Produit :',produit)
Continuons :
Quelles remarques pouvez-vous déjà faire sur l’utilisation des variables en Python ? Pouvez-vous expliquer ce qui se passe ?
Fonctions
Listes et chaînes
Algorithmique de base
Travailler avec un environnement de développement
Sujet de TP
Chiffre de César
Chiffre de Vigenère