Dans cette partie de cours, on va découvrir les l’utilisation des fonctions en python ( Python : Les fonctions). C’est une partie très importante!! nous avons essayer de la résumer et la bien structurer pour vous.  

Introduction

Les fonctions 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.

Types de fonctions

  1. Les fonctions Built-in : Font partie intégrante de Python, comme print() et input() sont toujours disponibles sans ajouter aucun effort de la part du programmeur.
  2. Les fonctions inclues dans des modules : Fonctions utiles mais pas autant utilisées que les Built-in fonctions, sont disponibles dans un certains nombres de modules préinstallés avec Python (ou à installer).
  3. Nos propres fonctions On peut créer nos propres fonctions et les utiliser quand on aura besoin.

1. Exemples de fonctions Built-in

Python a 69 fonctions Built-in :

python : les fonctions Built-in
python : les fonctions Built-in

On  peut  découvrir toutes les fonctions built-in  ici.

Nous avons déjà utilisé quelques fonctions built_in : min(),max(),int-),float(), str(),hex(),input(),print(),eval(),sum(),tuple(),len(),type(),list(),range() et sorted().

Exercice 1:

  • on veut afficher le code ascii d’un caractère . Pensez à la fonction ord()
  • Transformer un caractère miniscule en majiscule. Pensez à la fonction chr()

Exercice 2 :  soit le tuple suivant :  t=((1,’a’), (2,’b’)). 

Utiliser la fonction  dict() pour créer  un dictionnaire d à partir  du tuple t.

2- Exemples de fonctions d’un module

Avec l’installation par défaut de l’environnement de développement python , un nombre de modules sont  installés. On peut découvrir toutes les informations sur  ces modules ici.

Exemple 1 : le module random

Ce module implémente des générateurs de nombres pseudo-aléatoires pour diverses distributions. Supposons on veut remplir une liste L par  10 nombres entiers  aléatoires. Donc , on va utiliser la fonction randint() sachant que :

random.randint (a, b) : Renvoie un entier aléatoire N tel que a <= N <= b.

Proposer un  programme qui remplit la liste par  10 entiers aléatoires puis  l’affiche.

Exemple 2 : le module math

Supposons on veut calculer la racine carrée  d’un nombre positif x saisit au clavier ?

On va utiliser la fonction sqrt du module math

Remarque :

Si le module n’est pas installé par défaut, on doit l’installer avant de pouvoir utiliser ses fonctions.

3- Les fonctions utilisateur

Le développeur peut définir ses propres fonctions et les utiliser par la suite. Donc , on a deux étapes :

  • Déclaration de la fonction
  • Appel (invocation, utilisation ) de la fonction

Remarque : pour les fonctions Built-in ou celles intégrées dans les modules, on n’a qu’à découvrir comment utiliser les fonctions. Autrement dit, l’étape de déclaration des fonctions est déjà faite.

1- Déclaration et appel des fonctions

pour déclarer une fonction on suit la syntaxe suivante :
def   nomFonction(parametre1,parametre2,…) :

        instructions

       return  valeur_de_retour

Exemple :    def somme(a,b) :

                               res=a+b

                               return res

2- Utilisation (appel ) de la fonction

Pour utiliser une fonction déjà déclarée, on l’appelle à l’aide de son nom.

Exemple :  x=somme(10,156)

                  print(x)

 Remarque : pour les fonctions en Python, on ne précise pas le  type des arguments. Python est en effet connu comme étant un langage au « typage dynamique », c’est-à-dire qu’il reconnaît pour vous le type des variables au moment de l’exécution.

Type de passage de paramètres :

  1. Paramètres positionnels :

Lorsqu’on définit la fonction def somme(a, b): les arguments a et b sont appelés arguments positionnels (en anglais positional arguments or paramters). Il est strictement obligatoire de les préciser lors de l’appel de la fonction. De plus, il est nécessaire de respecter le même ordre lors de l’appel que dans la définition de la fonction. En effet, tout dépendra de leur position :

Exemple :

Déclaration :

def   Puissance(a,b) :

     res=a**b

     return res

Appel :

x=Puissance(2,5)

y=Puissance(5,2)

print( x,y)

2- Passage par mot clé (Keyword argument passing ) :

Python offre une autre façon de faire passer les arguments à une fonction, la signification de l’argument est dictée par son nom et non pas sa position, c’est ce qu’on appelle le passage par mot clé (keyword argument passing en anglais)

Exemple :

Déclaration :

def   Puissance(a,b) :

     res=a**b

     return res

Appel :

x=Puissance(b=2,a=5)

y=Puissance(5,2)

print( x,y)

Remarque : On peut mélanger entre les arguments positionnels et les arguments keywords, mais les arguments positionnels doivent toujours être placés avant les keywords arguments.

Exemple :

Déclaration :

def   f1(a,b,c) :

     res=a**b+c

     return res

Appel :

x=f1(2,c=5,b=2)

print( x)

3-    Valeur par défaut :

 Il est possible aussi d’affecter une valeur par défaut à un paramètre lors de la déclaration (valeur par défaut prédéfinie), cette valeur sera prise en considération dans le cas où l’argument n’est pas omis.

Exemple :

Déclaration :

def   f1(a,b,c=5) :

     res=a**b+c

     return res

Appel :

x=f1(2,3)

print( x)

 

4-   L’instruction return

Toute fonction peut éventuellement retourner une valeur, dans ce cas nous utiliserons l’instruction return, toutefois cette instruction peut avoir deux objectifs :

  • En utilisant uniquement le mot clé return, sans spécifier de valeurs ou d’expressions, il permettra de terminer immédiatement l’exécution de la fonction, et le retour à la suite des instructions après l’appel de la fonction.
  • La 2ème possibilité et d’utiliser le return avec une expression, nous utilisons la syntaxe suivante

Remarque :   Le mot clé None :

Lorsque l’instruction return est utilisée sans aucun argument, à l’intérieur d’une fonction, pour provoquer sa fermeture immédiate. La valeur retournée dans ce cas est l’objet None (objet particulier, correspondant à « rien »).

Exercices

Exercice 1 :

  1. Proposer une fonction en python qui permet de calculer la somme des éléments d’une liste
  2. Utiliser cette fonction pour calculer la somme des éléments d’une liste L dont les éléments sont générés aléatoirement.

Exercice 2 :

  1. Proposer une fonction qui construit une liste les diviseurs d’un nombre la fonction doit retourner la liste construite.
  2. tester la fonction avec un programme de test.

Exercice 3 : Utilisation des fonctions récursives

Une fonction récursive est une fonction qui s’appelle elle-même, toutefois, il faut faire attention à la condition d’arrêt sinon on risque d’exécuter la fonction à l’infinie

  1. Proposer une fonction qui calcule la factorielle d’un nombre 
  2. Utiliser la fonction pour calculer la somme des factorielles des 100 premiers nombres positifs

Vous pouvez suivre la liste des vidéos du cours Python (Programmation ) sur notre chaine youtube :  Vidéos Python (cours) , Vidéos Python (exercices).

Aussi, notre cours bien structuré est sur le site : cours python

Découvrir plus de cours

Algorithmes, base de données, merise, SQL

traitement conditionnel

Les structures alternatives

Jusqu’à présent, nous pouvons créer un programme en python qui permet de lire les données...

variables en python

Variables en python

Dans cette partie de cours, on va découvrir les variables en python : comment elles...

Procédures et Fonctions

Procédures et fonctions

Introduction : En programmation, donc en algorithmique, il est possible de décomposer le programme qui...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *