Vous êtes sur la page 1sur 6

CHAPITRE I :

Les bases du langage


LES FONCTIONS

45

45

Les fonctions
Outre les fonctions de bases de Python, il est possible d’en définir de
nouvelles grâce à l’instruction « def ».

def nom_fct (arg1,arg2,…,argn):


<instruction>
return <valeur>

46

46

1
Les arguments avec valeurs
par défaut
Il est possible de définir des paramètres par défaut pour un ou plusieurs
arguments.
Ex: def nom_fct (arg1=0, arg2=2,…,argn =« hello world »)
Les fonctions peuvent être appelées en utilisant des arguments mots-
clés de la forme « motclé=valeur »
Ex : def test (a, b=‘bbb’,c=‘ccc’):
print (" a: tu dois me définir :" +a)
print ("b: si tu ne me définit pas je suis bbb: "+b)
print ("c: si tu ne me définit pas je suis ccc: "+c)
test (1000)
test (1200,c = ‘3500’)
47

47

Nombre d’arguments
indéterminé
Une fonction peut être appelée avec un nombre d’arguments arbitraire.
Il est possible de les envoyer sous deux formes différentes :
Soit par dictionnaire :
Définition : Def nom_fct (**arg):
pass
Appel : nom_fct (arg1=1, arg2=2)
Soit par tuple :
Définition : def nom_fct (*arg):
pass
Appel : nom_fct (arg1,arg2)

48

48

2
CHAPITRE I :
Les bases du langage
LES MODULES

49

49

Les modules
•Un module est un bout de code dans un fichier.
• On met ainsi des fonctions et des variables ayant toutes un rapport
entre elles.
•Ainsi, si l'on veut travailler avec les fonctionnalités prévues par le
module, il n'y a qu'à importer le module et utiliser ensuite toutes les
fonctions et variables prévues.
• Il existe un grand nombre de modules disponibles avec Python sans
qu'il soit nécessaire d'installer des bibliothèques supplémentaires.
• Pour plus d’information sur la bibliothèque standard de Python, visitez
https://docs.python.org/fr/2/library/index.html

50

50

3
Importation des modules
• Il est possible d’importer des fonctions qui sont définies dans des
fichiers externes (des bibliothèques de fonctions).
Instructions:
• from nomModule import *
• pour importer toutes les fonctions définies dans le module nomModule
(représenté par le fichier nomModule.py)

•from nomModule import nomFonction


• pour importer la fonction nomFonction définie dans le module nomModule
(représenté par le fichier nomModule.py)

Exemple
from random import randint
X=randint(1,100) //entier aléatoire entre 1 et 100

51

51

CHAPITRE I :
Les bases du langage
LES EXCEPTIONS

52

52

4
Les exceptions
• Même si une instruction ou une expression est syntaxiquement
correcte, elle peut générer une erreur lors de son exécution.
• Les erreurs détectées durant l’exécution son appelées des exceptions et
ne sont pas toujours fatales.
• Lorsqu’une erreur survient, un objet exception est passé au mécanisme
de propagation des exceptions, et l’exécution est transférée à la
séquence de traitement, ce qui arrête l’exécution du programme et
génère des messages d’erreurs

53

53

Gestion des exceptions


Exemple
While true :
try:
a=int(input( "donner un entier" ))
break
except ValueError:
print( "ce n’est pas un nombre" )

• Dans l’exemple, on essaie de lire un entier valide, dans la clause try.


• Si la lecture est effectuée correctement, on sort de la boucle while;
• Sinon (si une exception « ValueError » est levée), elle sera gérée par la clause
except:
• La gestion se manifeste dans le faite d’intercepter l’exception pour
l’empêcher d’arrêter l’exécution du programme, et dans l’exécution des
instructions du block except.

54

54

5
Déclencher une exception
•L’instruction raise permet au programmeur de déclencher une
exception spécifique.
•Exemple:
x=input("donner un chiffre entre 0 et 10")
if not (0 <= x <= 1)
raise ValueError("x n’est pas dans [0..10]")

55

55

Actions de nettoyage
Ex : def divise(a,b):
return a/b
for x in range(1.0,5.0,1.0):
try:
result = divise(x,x-4)
print « Le résultat est %f »% result
finally :
print « cette ligne est exécutée quoi qu’il se passe »
La clause de finalisation est exécutée dans tous les cas

56

56