devstory

Le Tutoriel de Python Function

  1. Python Function
  2. Exemples de Function
  3. Fonction avec des paramètres requis
  4. Fonction avec des paramètres par défaut  
  5. Fonction avec paramètre Variable-Length
  6. Fonction anonyme  

1. Python Function

La fonction est un bloc de commande spécial, elle est nommée et elle aide le code de programme à lire plus facilement et elle est appellée pour utiliser dans différents endroits du programme. La fonction est un bloc de commande réutilisable.
Syntaxe :
** function syntax **
def functionName( parameters ):
   "Short description of the function"
   codes ...
   return [expression]
  • Une fonction commence par le mot "def" (define) et suivie par le nom de la fonction.
  • Ensuite, c'est la liste des paramètres entre des parenthèses () et deux points (:), la fonction peut inclure 0, 1 ou des paramètres, les paramètres sont séparés par des virgules.
  • La première ligne du corps de fonction (function body) est une courte description de la fonction (facultative).
Commande return :
La commande return est utilisée pour renvoyer une valeur (ou une expression), ou "rien". Lorsque l'instruction return est exécutée, la fonction se terminera. Return est une commande non requise dans le corps de la fonction.
Example
Description
return 3
La fonction renvoie une valeur et finit
return
La fonction ne renvoie rien et finit
Paramètres (Parameter) :
La fonction comprend 0, 1 ou des paramètres séparés par une virgule. Il y a quatre types de paramètres :
  • Paramètre requis
  • Paramètre par défaut
  • Paramètre de longueur variable (Variable-Length Parameter)
  • Paramètre du mot-clé Keyword Parameter)

2. Exemples de Function

Par exemple, une fonction qui a un paramètre et renvoie "Rien".
functionExample1.py
# Définissez une fonction :
def sayHello(name)  : 
    # Vérifiez si name est vide (empty) ou null.
    if not name   : 
        print( "Hello every body!" ) 
    # Si name n'est pas vide et non null.  
    else :          
        print( "Hello " + name)

# Appelez la fonction, transmettez des paramètres à la fonction.
sayHello("") 
sayHello("Python");  
sayHello("Java");
Output:
Hello every body!
Hello Python
Hello Java
Ensuite, l'exemple d'une fonction qui a un paramètre et renvoie la valeur.
functionExample2.py
# Définissez une fonction:
def getGreeting(name)  :

    # Vérifiez si name est vide ou nul (None).
    if not name   :
        # Renvoyez une valeur
        # Et la fonction se termine ici.
        return "Hello every body!"
    
    # Si name n'est pas vide et non nul ( None).
    # le code ci-dessous sera exécuté.
    return "Hello " + name

# Appelez la fonction, transmettez des paramètres à la fonction.
greeting = getGreeting("") 
print(greeting)  
greeting = getGreeting("Python") 
print(greeting)
Output:
Hello every body!
Hello Python

3. Fonction avec des paramètres requis

L'exemple suivant définit la fonction showInfo ayant deux paramètres. Les deux paramètres sont réquis. Lorsque vous appelez cette fonction, vous devez fournir deux paramètres à la fonction. À l'inverse, le programme lancera une erreur.
requiredParameterExample.py
def showInfo(name, gender):
    print ("Name: ", name);
    print ("Gender: ", gender);

# Valid  
showInfo("Tran", "Male")  
# Invalid ==> Error!!
showInfo("Tran")

4. Fonction avec des paramètres par défaut  

La fonction peut contenir beaucoup de paramètres, y compris les paramètres requis et des valeurs par défaut.
La fonction showInfo ci-dessous a trois paramètres (name, gender = "Male", country = "US") :

  • Le nameest un paramètre requis.
  • Le gender est le paramètre avec la valeur par défaut "Male".
  • country est un paramètre avec la valeur par défaut "US".
defaultParameterExample.py
def showInfo(name, gender = "Male", country ="US"):
    print ("Name: ", name)
    print ("Gender: ", gender)
    print ("Country: ", country)

# Valid    
showInfo("Aladdin", "Male", "India")  
print (" ------ ")
# Valid  
showInfo("Tom", "Male")
print (" ------ ")
# Valid  
showInfo("Jerry")
print (" ------ ")
# Valid  
showInfo(name = "Tintin", country ="France")
print (" ------ ")
Output:
Name: Aladdin
Gender: Male
Country: India
 ------
Name: Tom
Gender: Male
Country: US
 ------
Name: Jerry
Gender: Male
Country: US
 ------
Name: Tintin
Gender: Male
Country: France
 ------

5. Fonction avec paramètre Variable-Length

Variable-length Parameter est un paramètre spécial. Lorsque vous appelez la fonction, vous pouvez passer 0, 1 ou des valeurs à ce paramètre.

Remarque : "Variable-length Parameter" doit toujours être le dernier paramètre de la fonction.
Exemple:
La fonction sumValues a trois paramètres :

  • Les paramètres a, b sont requis.
  • Paramètres *others sont des "Variable-Length Parameter".
variableLengthParameterExample.py
def sumValues(a, b, *others): 
    retValue = a + b
    
    # Paramètre 'others' comme un plaque
    for other in others :
        retValue = retValue + other
        
    return retValue
Comment appeler des fonctions :

testVariableLengthParameter.py
from variableLengthParameterExample import sumValues

# Transmettez sur: *others = []
a = sumValues(10, 20) 
print("sumValues(10, 20) = ", a);

# Transmettez  sur: *others = [1]
a = sumValues(10, 20, 1);  
print("sumValues(10, 20, 1 ) = ", a);

# Transmettez  sur: *others = [1,2]
a = sumValues(10, 20, 1, 2);  
print("sumValues(10, 20, 1 , 2) = ", a);

# Transmettez  sur: *others = [1,2,3,4,5]
a = sumValues(10, 20, 1, 2,3,4,5);  
print("sumValues(10, 20, 1, 2, 3, 4, 5) = ", a);
Output:
sumValues(10, 20) = 30
sumValues(10, 20, 1) = 31
sumValues(10, 20, 1, 2) = 33
sumValues(10, 20, 1, 2, 3, 4, 5) = 45

6. Fonction anonyme  

Les fonctions sont appelées anonymes (anonymous) si elles ne sont pas définies de manière habituelle par le mot-clé def, qui utilise le mot-clé lambda.
  • Les fonctions anonymes peuvent avoir 0 ou plus de paramètres, mais une seule expression dans le corps de la fonction. La valeur de l'expression est la valeur de retour de la fonction. Mais ne pas utiliser le mot-clé 'return' de l'expression précédente.
  • La liste des paramètres séparée par des virgules et ne peut pas être placée entre parenthèses ( ).
  • Dans le corps de la fonction anonyme, vous ne pouvez pas accéder aux variables externes, vous ne pouvez accéder qu'à ses paramètres.
  • Une fonction anonyme ne peut pas être un appel direct à fonction print, car lambda exige une expression
Syntaxe:
* syntax *
lambda [arg1 [,arg2,.....argn]]  :  expression
Exemple :
lambdaFunctionExample.py
# Déclarez une variable : hello = une fonction anonyme n'a aucun paramètre.
hello = lambda  : "Hello"

# Déclarez une variable : mySum = une fonction anonyme avec deux paramètres.
mySum = lambda a, b : a + b 

a= hello() 
print (a) 

a = mySum(10, 20) 
print (a)
Output:
Hello
30