May 19, 2024

Wiki

Python

Aide

edit SideBar

Search

Premiers pas en Python


En guise d'introduction

Présentation générale

Python est un langage de programmation relativement jeune (une vingtaine d'années). Il est souvent présenté comme un langage de scripts, mais a depuis beaucoup évolué : il présente toutes les possibilités offertes par les autres langages (programmation objets, lambda calcul, design pattern, etc.)

C'est un langage interprété : vous n'avez pas à compiler le programme avant de l'exécuter. On y gagne des programmes multi-plateformes, un déboguage plus aisé, mais on y perd de la rapidité.

Python vous permet de faire facilement des choses compliquées, et ce en un minimum de lignes de codes. De plus, on peut mélanger du code python avec du C/C++, ou du Java : ainsi,

  • les parties difficiles peuvent être réalisées en python,
  • quand les parties nécessitant de la rapidité seront réalisées en C/C++.

Par sa syntaxe claire et concise, python est un bon outil pédagogique. De plus, il est riche en bibliothèques scientifiques, et est de plus en plus utilisé par la communauté scientifique. Il s'agit notamment du langage phare en intelligence artificielle et en bioinformatique.

Le langage Python est basé sur un modèle de développement communautaire : une bande de développeurs propose des évolutions en écrivant des PEP : les Python Enhancement Proposal.

Ces mini cahiers des charges sont soumis à l'approbation de l'ensemble des développeurs de Python, pour être affinés ou rejetés. Ces améliorations peuvent être suivies sur la page What's new in python. L'intérêt de ce modèle est la vitesse avec laquelle le langage évolue, comparé à d'autres qui subissent une inertie plus forte, due à des considérations économiques et stratégiques induites par les entreprises qui les soutiennent.

Pour conclure, c'est un langage en fort développement, qui est de plus en plus utilisé pour toutes ses qualités (NASA, Google, Ubuntu, etc.)

Il est installé de base dans les distributions GNU/Linux et sous Mac. Pour les autres OS, vous pouvez aller sur http://www.python.org.

Comment lancer le mode interactif

Dans un terminal, tapez (sans le dollar)

  $ ipython3

pour lancer le mode interactif.

Testez les commandes suivantes (sans les >>>), et étudiez les résultats :

  >>> 2+3
  >>> print("resultat = ",2+3)
  >>> chr(97)
  >>> list(range(5))

Une fois ces commandes essayées, appuyez sur la flèche du haut, pour vous rendre compte que python gère un tampon mémoire (buffer).

Vous pouvez à tout moment lancer python en mode interactif, pour tester une ligne de commandes par exemple. Pensez à toujours lancer une console interactive quand vous programmez en python.

Tapez Control-D pour quitter le mode interactif.

N.B.: il existe la possibilité de faire des notebooks dans un navigateur internet, alternant code python et textes (jupyter), cf. Google colaboratory.

En-dehors du mode interactif

Dans un terminal, tapez

  $ gedit prog1.py&

(ou utilisez l'éditeur de texte de votre choix).

Puis, recopiez le code suivant, dans votre éditeur :

  #-*-coding:utf8-*-
  n=input('Quel âge avez vous ?')
  print("vous avez", n, "ans.")

Quelques remarques :

  • On n'a pas de >>> quand on écrit un programme python dans un éditeur de texte
  • Dans les versions modernes de python, on peut utiliser des f-string, plus puissantes et élégantes :
  print(f"vous avez {n} ans.")
  • Important : il ne faut pas mettre d'espace en début de ligne, jamais. Faire attention lors du copier-coller : supprimer les espaces en début de ligne, au besoin.

Enfin, de retour dans votre terminal, tapez

  $ python3 prog1.py 

...et le résultat attendu se réalise sans problème !

Entrées-sorties

Les méthodes de base

input()
Permet de lire une chaîne de caractères. S'utilise, par exemple, ainsi :
  >>> n=input()
input(chaine)
Affiche la chaîne de caractères fournie en argument, puis lit la donnée saisie sur la fin de ligne. Par exemple,
  >>> n=input('Votre âge ?')

Travaux pratiques

  1. Faire un programme qui affiche Bonjour!, puis l'exécuter.
  2. Demander à l'utilisateur son nom et son âge, et afficher Bonjour untel, vous avez tant ans. (en remplaçant untel et tant par les bonnes valeurs).
  3. Écrire un programme qui demande à l'utilisateur de saisir un nombre et qui renvoie son double et son triple.
    • Attention, quand on fait n=input(...), le n est une chaîne de caractères, par exemple '2' (et non l'entier 2).
    • Donc n*2 correspond à la chaîne dupliquée : concaténation de n et de n ('22', dans notre exemple, et pas 4).
    • Il faut donc faire int(n)*2, pour obtenir le double de 2.

Les commentaires en Python

La base

Ils commencent par un # en python, donc tout ce qui suit ce symbole est ignoré. On peut utiliser cela pour documenter son code.

Pour des commentaires sur plusieurs lignes, les commencer et les terminer par ''' (trois apostrophes, ou bien trois guillemets, c'est pareil).

Il existe quelques commentaires à la syntaxe particulière, qui renseignent sur l'encodage des caractères, ou sur le lieu de l'interpréteur python...

Commentaire d'encodage

La première ligne du programme précédent (on peut aussi la mettre en seconde ligne, mais pas plus loin) renseigne sur le choix de codage de caractères, qui aurait pu être aussi, par exemple :

  #-*-coding:Latin-1-*-

Commentaire d'interpréteur

Si vous mettez en première ligne de votre fichier python toto (un fichier texte, donc) :

  #!/usr/bin/python3

et que vous autorisez l'exécution de votre fichier :

  $ chmod u+x toto

alors vous pouvez exécuter toto ainsi

  $ ./toto

Travaux pratiques

Ajouter des commentaires aux programmes que vous avez fait précédemment, que ce soit sur une ou plusieurs lignes.

Python sur le net

  1. Lire la page de présentation de Python sur wikipedia.
  2. Parcourir la page officielle de Python : http://www.python.org, puis se familiariser avec les pages suivantes :
    1. Documentation officielle
    2. Python package index : plus de 20000 modules.
  3. Prendre connaissance des sites utiles suivants, les parcourir
    1. PyMOTW (En) : un module présenté en détail, chaque semaine.
    2. Association francophone Python
    3. Apprendre à programmer avec Python : Livre de G. Swinnen, sous licence libre.

Page Actions

Recent Changes

Group & Page

Back Links