0% ont trouvé ce document utile (0 vote)
86 vues8 pages

Chapitre N°6-Programmation en Python - Les Fonctions

Le chapitre 6 traite de la programmation en Python, en se concentrant sur les fonctions et leur utilisation. Il aborde les fonctions prédéfinies, les modules, l'importation de modules, ainsi que la définition et l'exécution de fonctions personnalisées. Des exemples pratiques illustrent comment utiliser ces concepts pour simplifier le code et résoudre des problèmes.

Transféré par

lahlamiibrahim
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
86 vues8 pages

Chapitre N°6-Programmation en Python - Les Fonctions

Le chapitre 6 traite de la programmation en Python, en se concentrant sur les fonctions et leur utilisation. Il aborde les fonctions prédéfinies, les modules, l'importation de modules, ainsi que la définition et l'exécution de fonctions personnalisées. Des exemples pratiques illustrent comment utiliser ces concepts pour simplifier le code et résoudre des problèmes.

Transféré par

lahlamiibrahim
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

09/12/2024

Fondements en
informatique et
algorithmique
Chapitre n° 6 :
Programmation en
Python -Les fonctions

Pr. Abdelhak KADDRI

ENSA-MARRAAKECH 1

Plan du chapitre n°6


1) Introduction (fonction ou procédure)
2) Utilisation des fonctions prédéfinies
a)Modules et packages
b)Importation d’un module
c)Quelques modules usuels
3) Fonctions personnalisées
a) C’est quoi et pourquoi ?
b) Définir/concevoir une fonction
c) Exécution et valeurs de retour
a) Arguments et appel à une fonction

ENSA-MARRAAKECH 2

1
09/12/2024

Introduction
En algorithmique :
Exemples :
▪ Une procédure est un regroupement
▪ print() et input() : entrée et sortie qui renvoient
d'instructions que l'on nomme par un
respectivement None et str.
nom afin de pouvoir les exécuter de
▪ len() est une fonction qui renvoie le nombre
manière plus simple et/ou répétitive.
d’élément d’un objet.
▪ Une fonction est une procédure qui
▪ max() et min() sont des fonctions qui renvoient
réalise un traitement et qui retourne un successivement le max et le min des éléments d’un
résultat. objet.
Alors qu’en python, on dit fonction pour ▪ float(), int(), str(), bool() sont des fonctions qui
parler d’une fonction ou d’une procédure
(Donc une procédure est une fonction qui permettent de convertir explicitement un objet
retourne implicitement la valeur None). d'un type dans un objet d’autre type.

ENSA-MARRAAKECH 3

Modules et packages
▪ En Python, un module est un fichier contenant des
définitions de fonctions, de classes et de variables.
▪ D’autre part, c'est une manière d'organiser le code de
manière logique et cohérente.
▪ Le nom du module est dérivé du nom du fichier (sans
l'extension .py).
▪ Par exemple, un fichier nommé calcul.py correspondrait
au module calcul.
▪ Un des grands avantages des modules en Python est
qu'ils permettent la structuration, le partage et la
réutilisation du code.
▪ Un package en Python est simplement un dossier
contenant un ensemble de modules Python.
ENSA-MARRAAKECH 4

2
09/12/2024

Importation d’un module


Exemples : on trouve dans le module math, les
Pour pouvoir appeler des fonctions d’un
fonctions prédéfinies sqrt, cos, sin, etc :
module, il faut les importer de deux >>> import math #importe tout le module math
>>> sin(180)
manières suivantes : …….NameError: name 'sin' is not defined…….
>>> math.sin(180) # on appelle math suivi de .sin
▪ Pour importer monModule entier : 0.0
>>> math.sqrt(25)
import monModule
5
>>> from math import sin # importer sin de math
▪ Pour importer quelques fonctions de >>> sin(90) # on appelle sin directement
monModule : 1
>>> from math import sqrt
>>> sqrt(16)
from monModule import nomFct, nomFct2
6

ENSA-MARRAAKECH 5

Importation d’un module


▪ On peut importer tout le contenu d'un module Exemple : Par exemple si nous écrivons ce qui

à la fois en utilisant le caractère * : suit, nous ne pourrons plus différencier la


fonction sin() du module math de la fonction
from nomModule import*
sin() du module cmath :
▪ Mais cela est fortement déconseillé, car
>>> from cmath import *
l’interpréteur de python ne pourrait alors
>>> from math import *
plus faire la distinction entre des fonctions >>> sin(0)
ou variables provenant de différents modules, 0.0
Mais si vous avez fait :
s'ils sont nommés de façon identique.
>>> from math import *
▪ Et si le cas, l’interpréteur travaillera avec les >>> from cmath import *
fonctions de dernier module importé. >>> sin(0)
0j
ENSA-MARRAAKECH 6

3
09/12/2024

Quelques modules usuels


Voici une liste non exhaustive des modules :
▪ math : fonctions et constantes mathématiques de base (sin, cos, exp, pi...).
▪ sys : interaction avec l'interpréteur Python, passage d'arguments.
▪ random : génération de nombres aléatoires.
▪ time : accès à l'heure de l'ordinateur et aux fonctions gérant le temps.
▪ urllib : récupération de données sur internet depuis Python.
▪ Tkinter : interface python avec Tk. Création d'objets graphiques (Fenêtres
graphiques et Tkinter).
▪ turtle : Les graphiques de tortue sont un moyen populaire d'introduire la
programmation aux enfants. Il faisait partie du langage de programmation
Logo.

ENSA-MARRAAKECH 7

Plan du chapitre n°6


1) Introduction (fonction ou procédure)
2) Utilisation des fonctions prédéfinies
a)Modules et packages
b)Importation d’un module
c)Quelques modules usuels
3) Fonctions personnalisées
a) C’est quoi et pourquoi ?
b) Définir/concevoir une fonction
c) Exécution et valeurs de retour
a) Arguments et appel à une fonction

ENSA-MARRAAKECH 8

4
09/12/2024

Fonctions personnalisées
C’est quoi et pourquoi?

Les fonctions sont des structures de sous-programmes (blocs de code) qui ont été conçues
afin de :
▪ Coder des solutions pour les sous-problèmes
▪ Simplifier la complexité de grand projets.
Lorsque vous commencerez à développer de véritables projets et applications :
▪ Les lignes de Programme vont commencer à s’accumuler,
▪ Il y aura lieu des répétitions d’un même code à plusieurs reprises dans le même
programme.
Les fonctions, donc, sont très utiles pour réaliser plusieurs fois la même opération au sein
d'un programme. Elles rendent également le code plus lisible et plus clair en le fractionnant
en blocs logiques.

ENSA-MARRAAKECH 9

Fonctions personnalisées
Définir une fonction (concevoir) :
▪ argument1,argument2, ... Argumentk
▪ Pour définir une fonction on commence par une ligne : sont les arguments formels de la
d'introduction qui doit commencer par le mot clé def et fonction.
Exemples :
se termine par deux points ( : ) comme suivant :
def carre(x) :
def nomFonction(argument1, argument2, ... argumentk): resultat = x*x
instruction1 return resultat
instruction2 def factorielle(param) :
... facto = param
[return resultat] # instruction optionnelle
for k in range(param-1,1,-1):
▪ La 1ère ligne de def est appelée l'en-tête de la fonction.
facto = facto*k
▪ Le reste d’instructions c’est son corps, avec une return facto
indentation obligatoire par rapport à l’en-tête. Est-ce que cette fonction est 100% logique?
ENSA-MARRAAKECH 10

10

5
09/12/2024

Fonctions personnalisées
Exécution et Valeurs de retour d’une fonction : Exemples :
>>> def carre_cube(x):
▪ Une fonction peut retourner comme valeur n’importe ... return [x**2, x**3]
...
quel objet (entier, float, list, tuple …). >>> carre_cube(3)
▪ Une fonction peut retourner plusieurs valeurs, au même [9, 27]
>>> def carre_cube2(x):
temps, il suffit de les séparer par des virgules. ... return x**2, x**3
...
▪ Pour exécuter une fonction on réalise un appel de son
>>> carre_cube2(2)
nom de manières suivantes : (4, 8)
Un autre exemple avec plusieurs args
nomFonction(arg1,arg2,...)
>>> def calculMaxMin(x,y):
ou ... if y < x:
... return x,y
resultat=nomFonction(arg1,arg2,...)
... else:
Si la fonction retourne quelque chose. ... return y,x
>>> calculMaxMin(carre_cube2(3))
27,9
ENSA-MARRAAKECH 11

11

Fonctions personnalisées
Arguments et appel à une fonction :
▪ Schéma simplifiant l’ordre d’exécution d’un appel à une fonction avec valeur de retour dans
un script python :

Arguments formels

Arguments effectifs

ENSA-MARRAAKECH 12

12

6
09/12/2024

Fonctions personnalisées
Exercice d’application :

Utiliser le module turtle pour tracer le dessin


ci-contre, à cet effet :

1. Il vous faut tout d’abord réaliser une


fonction qui trace un triangle.

2. Ensuite, vous utiliserez cette fonction pour


dessiner le schéma demandé.

ENSA-MARRAAKECH 13

13

Fonctions personnalisées
Exercice d’application : Solution :
Sachant que : #définition de la fonction
▪ turtle.forward(distance) permet de tracer une import turtle
ligne. def triangle(d,c):
▪ turtle.left(degrée) permet de tourner vers la turtle.pencolor(c)
gauche
for i in range(3):
▪ turtle.pencolor(newcolor) permet de modifier
turtle.forward(d)
la couleur de dessin
turtle.left(120)
1. Définissez une fonction triangle() capable de
dessiner un triangle équilatéral de côté d et #programme principale
d’une couleur bien déterminée c. for i in range(12):
2. Utilisez ensuite cette fonction pour dessiner 12 triangle(150,"green")
triangles avec dist=150 col=‘green’, avec rotation turtle.left(30)
de deg=30° entre triangle et l’autre.
ENSA-MARRAAKECH 14

14

7
09/12/2024

MERCI POUR VOTRE


ATTENTION

Fin du chapitre VI

ENSA-MARRAAKECH 15

15

Vous aimerez peut-être aussi