Python

barbara_aigle

Fonctions originales

Les fonctions originales en Python, souvent appelées fonctions spécifiques ou personnalisées, sont celles que vous pouvez écrire vous-même pour résoudre des problèmes précis. Ces fonctions ne sont pas “natives” ou “built-in” mais plutôt créées par l’utilisateur en fonction des besoins. 


Fonction lambda (ou fonction anonyme)

Une fonction anonyme apporte plus de lisibilité dans le code : elle est donc utilisée lorsqu'une fonction prend comme argument d'autres fonctions.

Exemple :
maliste = [1, 2, 3, 87, 40, 49, 303, 34, 32, 98]
liste_filtree = list(filter(lambda x: x > 10, maliste))   # retourne [87, 40, 49, 303, 34, 32, 98]

Fonction régulière (ou fonction nommée)

Syntaxe :
def mafonction(param1, param2, ...):
     '''chaine littérale décrivant ce que fait la fonction :
       print(mafonction.__doc__)
       retourne la chaine'''
     bloc de code

mafonction(arg1, arg2, ...)     # appel de la fonction (chaque argument passé à la fonction doit correspondre au paramètre attendu)

Fonctions comportant des paramètres ayant des valeurs par défaut

NB : les paramètres sans valeur par défaut devront obligatoirement être placés en début de fonction.

def calculSomme(a, b=0, prenom='Pierre'):
     print('Bonjour', prenom, ', le résultat est :', a+b)

calculSomme(5)     # retournera : Bonjour Pierre, le résultat est : 5
calculSomme(4, 7, 'Marc')     # retournera : Bonjour Marc, le résultat est : 11

Fonctions utilisant des arguments avec étiquette

NB : lors de l'appel de la fonction, les arguments nommés devront être passés en dernier.

def trouveValeur(prenom, x, tableau):
    if x in tableau:
        resultat = True
    else:
        resultat = False
    print(prenom, 'voici le résultat de la recherche :', resultat)

maliste = [2, 5, 7, 10, 40]
valCherchee = 7
prenom = 'Pierre'
trouveValeur(prenom, tableau=maliste, x=valCherchee)

Fonctions utilisant des arguments sous forme de liste (*args)

def trouveValeur(*args):
    for listeArguments in args:
        print(listeArguments)
    if args[2] in args[1]:
        resultat = True
    else:
        resultat =  False
    print(args[0], 'voici le résultat de la recherche :', resultat)

maliste = [2,5,7,10,40]
valCherchee = 7
prenom = 'Pierre'
trouveValeur(prenom, maliste, valCherchee)

Fonctions utilisant des arguments sous forme de dictionnaire (**kwargs)

def trouveValeur(**kwargs):
    if kwargs['x'] in kwargs['tableau']:
        resultat = True
    else:
        resultat = False
    print(kwargs['user'], 'voici le résultat de la recherche :', resultat)

maliste = [2, 5, 7, 10, 40]
valCherchee = 7
prenom = 'Pierre'
trouveValeur(tableau=maliste, x=valCherchee, user=prenom)

Mot-clé yield

Le mot-clé yield fonctionne de la même manière que le mot-clé return mais, au lieu de retourner une variable, il retourne un générateur. Cette fonctionnalité permet de gérer une fonction qui retournerait un ensemble important de valeurs.

def genererMultiplicationPar2():
    maliste = range(10)
    for i in maliste:
        yield i*2

monGenerateur = genererMultiplicationPar2()
for i in monGenerateur:
    print(i)        # retourne : 0 2 4 6 8 10 12 14 16 18

(c) BS 2025 - tous droits réservés
Contactez-nous