Python : écrire et exécuter un fichier

1) Fichier Python

  Un fichier (on dit aussi module) Python est un fichier dont le nom a pour extension .py. Un fichier Python contient une suite d'instructions écrites dans le langage Python.
  Un fichier Python peut être ouvert avec n'importe quel éditeur de texte, mais pour pouvoir exécuter les instructions écrites dans le langage Python, il faut l'ouvrir avec un EDI (Environnement de Développement Intégré). Nous utilisons ici PyScripter ou IDLE.

2) IDLE ou PyScripter ?

  Ce sont deux EDI (parmi d'autres) dédiés à Python. IDLE, l'EDI natif de Python, est fiable mais spartiate. PyScripter est plus complet et plus agréable à utiliser, parfois instable.
Vous trouverez PyScripter ici : http://sourceforge.net/projects/pyscripter/

3) Lancer PyScripter ou IDLE

On y trouve:
    • Une fenêtre Shell (ou console) dans laquelle on voit le résultat de l'exécution des instructions et où on peut faire des tests. L'invite de ligne est matérialisée par les trois chevrons >>>.
    • Un fichier texte vide (ou avec quelques lignes pré-écrites): c'est ici que l'on écrit les instructions

4) Ouvrir un fichier Python existant

  Clic droit sur le fichier / Edit with IDLE  ou Edit with PyScripter

5) Exécuter un fichier

  Avec IDLE :  F5        Avec PyScripter: CTRL + F9

6) Enregistrer un fichier

  CTRL + S.  L'enregistrement est automatique lors de l'exécution. Pour éviter les demandes de confirmation d'enregistrement avec IDLE: Menu  Options/Configure IDLE / Onglet Général : Auto Save Reference : cocher No Prompt

7) Créer un nouveau fichier

  Avec IDLE ou PyScripter: CTRL + N

8) Encodage du fichier de travail

  Les fichiers Python (à partir de Python 3.0) devraient toujours être encodés en UTF8.

  Il est conseillé de mettre en première ligne de votre fichier Python:

# -*- coding: UTF-8 -*-

   Si on utilise exclusivement IDLE, cette consigne est inutile.
   Si on utilise exclusivement PyScripter que l'on a paramétré correctement ( Outils/Options/Options de l'IDE/ diteur/ Encodage de fichier par défaut: mettre sf_UTF8 à la place de sf_Ansi), cette consigne est inutile.
   Mais si on veut ouvrir avecPyScripter un fichier créé avec IDLE, cette consigne est indispensable, sinon les caractères spéciaux ou accentués seront mal interprétés.  

9) Organiser correctement un fichier Python

  Un fichier (ou module)  Python est en général constitué de la définition d'un certain nombre de fonctions et de zones de tests.  Il est conseillé de faire les tests après la définition de chacune des fonctions.
  Lorsqu'on crée un nouveau fichier avec IDLE, le fichier est vide.
  Lorsqu'on crée un nouveau fichier avec PyScripter, il contient quelques lignes personnalisables avec le menu Outils/Options/Modèles de fichiers : Script Python
  Il faut prendre dès le départ de bonnes habitudes. Votre fichier devrait toujours être organisé ainsi:

# -*- coding: UTF-8 -*-            # Facultatif mais plus sûr si on utilise Pyscripter
""" Description rapide du module"""
# Ecrire ici les définitions des fonctions du module.
## Tests

Voilà un exemple de fichier bien organisé:

# -*- coding: UTF-8 -*-
""" Multiples d'un nombre"""

def affiche_double(n):
    """ Affiche le double de n """
    print(2*n)

##affiche_double(23)         # Test effectué et attaché en commentaires

def calcul_triple(n):
    """ Calcule le triple de n """
    return 3*n

print(calcul_triple(31))    # Test en cours

10)  Conventions d'écriture pour le code Python

Document original en anglais: https://www.python.org/dev/peps/pep-0008/. Retenez pour bien commencer:
    - les noms de fonctions, variables et modules doivent être écrits avec des minuscules et des underscores _ si nécessaire.
    - mettre des espaces autour des opérateurs numériques, logiques, de comparaisons ou d'affectation.
    - mettre un espace après une virgule.
    - pas d'espace immédiatement entre les parenthèses, accolades, ou crochets.
    - pas d'espace immédiatement avant une virgule, un point-virgule, un point ou deux points.
    - limiter les lignes à 79 caractères et les commentaires et docstrings à 72 caractères.
    - une ligne de plus de 79 caractères doit être coupée avec soin.
Par exemple:

def ma_fonction(x, y):
valeur_maxi = 36
3 * (5 + 7**4)
[1, 2, 3]

11) Accès à la documentation

  Avec la touche F1 depuis IDLE ou depuis PyScripter, on accède à la documentation de référence Python (touffue et en anglais)
  Les cours complets sur Python écrits par Pierre Puiseux ou Bob Cordeau sont très bien faits, complets et avec de nombreux exemples.

© 2015 - Eric Obermeyer